{"id":13428468,"url":"https://github.com/eriknellessen/Virtual-Keycard","last_synced_at":"2025-03-16T01:32:40.356Z","repository":{"id":30456820,"uuid":"34010621","full_name":"eriknellessen/Virtual-Keycard","owner":"eriknellessen","description":"Decrypt and sign your e-mails with your smartphone instead of using a contactless smartcard","archived":false,"fork":false,"pushed_at":"2022-02-16T12:23:42.000Z","size":1316,"stargazers_count":22,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-28T07:47:35.139Z","etag":null,"topics":["android","smartcard"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eriknellessen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-15T18:15:18.000Z","updated_at":"2024-08-22T16:49:36.000Z","dependencies_parsed_at":"2022-09-19T00:10:24.052Z","dependency_job_id":null,"html_url":"https://github.com/eriknellessen/Virtual-Keycard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eriknellessen%2FVirtual-Keycard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eriknellessen%2FVirtual-Keycard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eriknellessen%2FVirtual-Keycard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eriknellessen%2FVirtual-Keycard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eriknellessen","download_url":"https://codeload.github.com/eriknellessen/Virtual-Keycard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243814901,"owners_count":20352037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","smartcard"],"created_at":"2024-07-31T01:00:58.028Z","updated_at":"2025-03-16T01:32:40.052Z","avatar_url":"https://github.com/eriknellessen.png","language":"Java","readme":"# Welcome\n\nThis software system allows you to decrypt and sign your e-mails with your smartphone instead of using a contactless smartcard. The smartphone communicates with your PC via NFC (as a contactless smartcard would).\n\n![Alt text](overview.png?raw=true \"Overview of the involved components\")\n\nThe associated bachelor's thesis can be found here:\nhttp://sar.informatik.hu-berlin.de/research/publications/SAR-PR-2014-08/SAR-PR-2014-08_.pdf\n\nWarning: This is just proof-of-concept code and should _NOT_ be used in\nproduction environments\n\n# Tested platforms:\n\n* Android 4.4 Kitkat on Nexus 5\n* Android 4.4 Kitkat on LG G2 Mini\n\nThe Android app only works on Android 4.4 Kitkat and higher.\n\n# Building\n\n[![Build Status](https://gitlab.com/eriknellessen/Virtual-Keycard/badges/master/pipeline.svg)](https://gitlab.com/eriknellessen/Virtual-Keycard/-/pipelines?ref=master)[![Code Coverage](https://gitlab.com/eriknellessen/Virtual-Keycard/badges/master/coverage.svg)](https://gitlab.com/api/v4/projects/15583775/jobs/artifacts/master/download?job=debugTests)[![Code Quality](https://img.shields.io/badge/code%20quality-download%20report-blue)](https://gitlab.com/api/v4/projects/15583775/jobs/artifacts/master/download?job=code_quality)\n\nTo create this app, eclipse was used.\n\nTo use the app, build it using the makefile in the following way:\n\n```sh\nmake ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT\n```\n\nI used adt-bundle-linux-x86-20131030 as SDK. The OS on which I build the app is Debian Jessie (32 Bit).\n\n# Installing\n\nExecuting the command\n\n```sh\nmake Android-install\n```\n\nwill install the app on your smartphone. Make sure it is connected to your PC and USB debugging is enabled!\n\n# Using\n\nFor usage, see page 48 and following of the bachelor's thesis.\n\nTo get a certificate onto the smartphone, you may use the Makefile.\n\nThis will create the PKCS15 files on the smartphone:\n\n```sh\nmake create-pkcs15-files\n```\n\nThis will generate a 2048 Bit RSA Key on the smartphone:\n\n```sh\nmake generate-key\n```\n\nThis will show you the slot id, which you might need for the next step if it is not 01:\n\n```sh\nmake show-slot-and-id\n```\n\nThis will create a Certificate Signing Request. You may specify the information for the distinguished name and the slot, if necessary:\n\n```sh\nmake create-csr\n```\n\nSo in the end you could do something like:\n\n```sh\nmake create-csr SLOT=02 COMMON_NAME=\"Erik Nellessen\" EMAIL_ADDRESS=mysecretemail@doesnt.exist\n```\n\nYou can have a look at the CSR by executing:\n```sh\nmake show-csr\n```\n\nNow you need to sign the certificate signing request with a CA. The Makefile target creates a demo CA using openssl. After that, it signs the certificate. You may specify the path to your openssl.cnf in the OPENSSL_CONF environment variable.\n\n```sh\nmake get-cert\n```\n\nThe last step is to store the certificate on the smartphone:\n```sh\nmake store-certificate\n```\n\nNow you can configure Thunderbird/Icedove as described in the bachelor's thesis on page 51 and start decrypting/signing e-mails!\n\nHave fun!\n","funding_links":[],"categories":["Applications"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feriknellessen%2FVirtual-Keycard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feriknellessen%2FVirtual-Keycard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feriknellessen%2FVirtual-Keycard/lists"}