Home

Awesome

OpenJavaCard NDEF

This project contains several JavaCard applets acting as NFC NDEF tags.

It is intended as a reusable library covering most usecases for NDEF on smartcards. There is support for emulating simple NDEF memory tags as well as for dynamic tags.

Build Status

Project

For more information about this overall project, see our website.

You can follow us on Twitter and chat with us on Gitter.

Documentation

Variants

NameDescriptionStatus
fullFull features (configured on install)Stable
tinyTiny feature set (read-only, static content)Stable
advancedFull plus GlobalPlatform featuresExperiment
stubStub backed by another serviceExperiment

Features

Status

History

Related Projects

I use GlobalPlatformPro by Martin Paljak for managing my cards during development. It works well with my NXP and Gemalto cards.

JavaCard compilation and conversion is done using ant-javacard in this project. It is simple but complete and therefore highly recommended for new JavaCard projects.

This project contains some code from the fine IsoApplet by Philip Wendland.

The code in this project has been reused and significantly extended for use as a HOTP authenticator in hotp_via_ndef. I am inclined to merge some of its features at some point. Thank you for sharing!

There was an NDEF applet before this one called ndef-javacard.

Legal

Copyright 2015-2020 Ingo Albrecht

This software is licensed under the GNU GPL Version 3. See the file LICENSE in the source tree for further information.

This software contains TLV parsing functions developed and published by Philip Wendland as part of IsoApplet, which are also licensed under the GNU GPL Version 3.

Note that the GPL requires that you make the source code to your applet available to all your customers and that you inform your customers about this option by means of an explicit written offer. It is recommended to publish your modifications as open source software, just as this project is.

Standards

The applet is intended to comply with the following standards, where applicable: