The goal of Eclipse Keyple is to allow developers to easily implement fast and secure off-line contactless transactions (using NFC cards, mobile phones, …) based on the Calypso standard.
More specifically, Keyple is a set of open source libraries that will initially be available in Java and C++, designed on the same mutual Object-Oriented Model compatible with any terminal architecture: mobile, embedded or server and Interoperable with any smart card reader solution: standard or proprietary, local or remote.
It manages the advanced security features of Calypso but is also able to manage non-Calypso smartcard solutions, for ticketing or payment.
Keyple defines two layers:
- Ticketing applications relies on a high-level Calypso processing API to manage Calypso commands & security features. For a session with a Portable Object: SAM commands can be automatically generated and sent to the SAM reader or HSM.
- Secure Element (SE) readers are integrated through plugins implementing the SE Proxy API which manages the communications with a contactless secure element through ant type of contactless reader (local, remote, standard, proprietary…)
Keyple propose a Local and Remote Secure Element optimization:
Cards or SAM’s commands are grouped to limit network exchanges for mobile, embedded terminal or server solution.
Keyple can be used with Standard or Proprietary SE reader driver:
It will be packaged with plugins to manage standard Secure Element interfaces: Android NFC Reader, Android SmartCard interface, Windows/Linux PC/SC, Java SmartCard IO PC/SC interface.
Keyple can also be extended with plugins implementation to manage proprietary drivers that could be proposed by smartcard reader manufacturers.
Thanks to its modular architecture, Keyple can be used also to communicate with non Calypso contactless portable objects, using the SE Proxy API.