Skip to content

Virtual PKI smart card using CyanogenMod 9.1 software card emulation

License

Notifications You must be signed in to change notification settings

flysa/virtual-pki-card

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual PKI Smart Card

Virtual PKI smart card using CyanogenMod 9.1 software card emulation. See related article for details:

http://nelenkov.blogspot.com/2012/10/emulating-pki-smart-card-with-cm91.html

How to use

Running the Android application requires CyanogenMod 9.1 or later with software card emulation patches applied. The app will start on other ICS and later ROMs too, but the applet will never get activated. Make sure you are using a compatible CM version. You also need a supported NFC-enabled device. Tested with Galaxy Nexus, should work with any PN544-based device.

Build and start the host client

  1. Import the 'se-pki-client' in Eclipse.
  2. Make sure the PC/SC stack on your machine works.
  3. Connect a supported contactless reader.
  4. Edit the run.sh script as necessary.
  5. Run the app using the script, specifying a PIN as the first parameter and a certificate file path as the second (optional). It will block waiting for a NFC device to become available.

Build and install the Android app

  1. Import the 'se-emulator' project in Eclipse.
  2. Run on a compatible device.
  3. Place a PKCS#12 file (up to 1024 bit key) in /sdcard/ and install via the app UI.
  4. Set a PIN via the app UI.
  5. Run the client application on a machine with a contactless reader connected.
  6. Place phone on reader to start.

Update 2014/1: Added HCE version

The 'hce-pki' should work on any KitKat device that supports host card emulation.

About

Virtual PKI smart card using CyanogenMod 9.1 software card emulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.7%
  • Shell 0.3%