Skip to content
philipWendland edited this page Dec 20, 2014 · 10 revisions

Welcome to the IsoApplet wiki and thank you for your interest in this project!

Overview

The IsoApplet is a Java Card applet that makes it possible to perform public key cryptography on compatible Java Card capable smartcards. As the private key is exclusively being stored on the smartcard and is used for cryptographic operations that are performed on the smartcard itself, it is insulated from the outer environment. That makes it hard or even impossible for unauthorized users to read or download the private key. Additionally, the applet allows for the on-card generation of asymmetric key pairs. The public key can be extracted after the generation of the mentioned key pair. The private key remains on the smartcard and is being used for the generation of signatures or the decryption of ciphertext. The on-card generation ensures contrary to uploading off-card generated keys that the private key has not been compromised prior to its deployment or use.

Additionally, the applet emulates a filesystem that makes it possible to save data according to the PKCS#15 standard. The applet aims to be compatible with the ISO 7816 standard, but some compromises need to be made.

OpenSC driver

There is also a OpenSC driver for the IsoApplet. OpenSC presents an abstract interface (PKCS#11) to host-side applications and supports many different smartcards. The OpenSC fork that includes the IsoApplet driver is located here. Please note: For now, please use the "master-fixed" branch which includes necessary upstream fixes.

The upstream version can be found here. Take a look at the OpenSC upstream wiki for more information!


What now? You might want to start with the configuration of the applet.

Clone this wiki locally