Loading repository data…
Loading repository data…
crocs-muni / repository
Curated list of open-source Java Card applets and related applications for cryptographic smartcards
The goal is to provide curated catalog of all open-source JavaCard applets and applications relevant for JavaCard development. The list is compiled by complete search for all GitHub, SourceForge and GitLab repositories with 'javacard.framework' keyword.
| :point_up: | You are encouraged to contribute - please create a pull request and insert entry into suitable section lexicographically. Thank you! |
|---|
The projects collected in this list were analyzed and published (June 2017) in Analysis of JavaCard open-source ecosystem and again in June 2023 in The adoption rate of JavaCard features by certified products and open-source projects. If you will find this list helpful, please consider citing our work as:
@inproceedings{2023-cardis-javacard,
title = {The adoption rate of JavaCard features by certified products and open-source projects },
author = {Zaoral, Lukas and Dufka, Antonin and Svenda, Petr},
booktitle = {Proceedings of the 22nd Smart Card Research and Advanced Application Conference, Lecture Notes in Computer Science, vol 14530},
doi = {10.1007/978-3-031-54409-5_9},
isbn = {978-3-031-54409-5},
pages = {169--189},
publisher = {Springer},
year = {2023}
}
As repositores are sometimes moved or completely removed, the fork of each repository under the virtual organization 'javacard-curated-list' is created, preserving also repository metadata like forks and stars. Another archival option is SoftwareHerritage archive which preserves history including automatic periodic updates (but not github metadata). Try to find a repository there if the original link no longer works (and please let us know via issue or PR).
Project name [activity] Short description, often taken from a project readme.md If is the project located on GitHub as primary project (not only source code in some subfolder), last commit date, number of contributors and number of stars received is retrieved directly from GitHub. Otherwise, source like SourceForge or BitBucket is signalized with manual last commit date entry.
Belgian-e-id applet
Belgian e-id applet
Electronic Driving License (GitHub) [last commit 2015] A reference implementation of the ISO18013 standards. Based on the passport applet code developed by the JMRTD team. The project implements the host API for reading out ISO compliant electronic driving licenses and a Java Card applet that implements the standard on a smart card.
EstEID compatible JavaCard applets
Various JavaCard applets compatible to EstEID chip protocol: FakeEstEID, MyEstEID
FedICT Quick-Key Toolset (GitHub) [last commit 2011] EidCard project
IdentityCard applet (GitHub) [last commit 2017] Vrije University Brussels applet (be.msec.smartcard.IdentityCard.java) with authentication, identity metadata storage and retrieval and time update functionality.
InfinitEID
JavaCard applet designed to work with Web-eID project which enables usage of European Union electronic identity (eID) smart cards for secure authentication and digital signing of documents on the web using public-key cryptography.
apex-totp
OTP authentication applet for VivoKey javacard implants based on Yubico OTP applet.
Biometric Authentication
Fuzzy extractor to authenticate with biometric data.
CoolKey Applet
CoolKey Applet with the idea of making it a fresh JavaCard 2.2.2 applet meant to be revival of CardEdge Muscle card applet.
FIDO2 Applet
A feature-complete MIT-licensed implementation of the FIDO2 CTAP2.1 authenticator standard. Passes the official FIDO compatibility test suite. As is required by CTAP, also implements U2F.
FIDO CCU2F Applet
This CCU2F JavaCard Applet is based on the Ledger U2F Applet. I imported this applet to Eclipse with installed JCOP Tools and modified the AID of this applet to the standardized AID for FIDO NFC token ( 0xA0000006472F0001). I also provided some example data ([Attestation Certificate and Key](u2f-javacard/U2F Example Attestation Certificate and Key Bytes.txt)) to bring this applet to run. This Applet was succesfully tested on JCOP v2.4.2 R3 cards with KeyAgreementX.ALG_EC_SVDP_DH_PLAIN_XY from NXPs JCOP library for EC Point Multiplication.
JMRTD: Machine Readable Travel Documents (SourceForge) [last commit 2017] Free implementation of the MRTD (Machine Readable Travel Documents) standards as set by ICAO used in the ePassport. Consists of an API for card terminal software and a Java Card applet.
JMRTD applet without EAC support
Fork of JMRTD electronic passport applet without EAC support. The target device for this project is G+D SmartCafe Expert 144k Dual.
SIC eID card
A privacy-friendly alternative for the Belgian eID card. The project aims to improve security of Belgian ID holders by limiting the current extensive exposure of their profiles. To do so, we build an alternative ID card which limits service providers to strickly necessary ID holder profile information.
Swedish public transport card applet
BoB MTS7 Travelcard Implementation, Swedish public transport card applet.
FIDO de.fac2 Applet
de.fac2 is a Javacard applet which implements a Fido U2F token. It was designed and implemented based on the Common Criteria Protection Profile BSI-CC-PP-0096-V3-2018 "FIDO Universal Second Factor (U2F) Authenticator Version 3".