Home

Awesome

Curated list of JavaCard applications

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}
}

Backup of listed repositories

As repositores are sometimes moved or removed, the fork of each repository under the virtual organization 'javacard-curated-list' is created. Try to find a repository there if the link doesn't work.

Format and notation

Project name [activity] <br> 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.

Contents

  1. Applets (standalone applications)
  2. Library code (code which is expected to be used as part of other code)
  3. Developer tools
  4. JavaCard simulators and emulators
  5. Learning (various school projects, simple hello world applets, etc)
  6. Unsorted

Applets (standalone applications)

Electronic passports and citizen ID

Authentication and access control

Payments and loyalty

Key and password managers

Digital signing, OpenPGP and mail security

e-Health

NDEF tags

CryptoCurrency wallets

Emulation of some proprietary cards

Mobile telephony (SIM)

Unsorted applications

Library code (code which is expected to be used as part of other code)

Developer tools

Applet build, upload and management

Card capabilities testing (algorithms support, performance, security issues)

Formal verification and code transformation tools

JavaCard simulators and emulators

Learning (various school projects, simple hello world applets, etc)

Unsorted

(needs further inspection)

Methodology