Eclipse Keyple® is an open source framework to facilitate the implementation of terminal processing operating smart card readers, and to defined advanced secure ticketing transaction.
The Keyple Core API provides a universal interface to manage smart card readers:
- The solution is able to handle any smart card reader solutions: standard (contacts/contactless PC/SC, NFC, OMAPI) or proprietary in a generic way.
- It’s also compatible with any terminal architecture: local or remote, for any kind of terminals: mobile, embedded or server. Remote smart card readers could be managed as local readers in a transparent way.
The Core API can be extended with command sets of specific smart card solutions in order to define advanced secure transactions. The project hosts a first extension to support the Calypso ticketing solution.
The Keyple Calypso API provides a high-level interface to implement fast and secure contactless ticketing transactions based on the Calypso standard.
- The settings of the Calypso cards & SAM APDU commands are automatically generated according to the functional operations defined by the developers.
- Cards & SAM commands are transmitted in an optimized grouping to limit network exchanges in case of distributed architecture.
Two implementations are currentely proposed for Java (dependency Java SE 6 and later, Android 4.4 or later) and for C++ (dependency C++ 11). Both implementations are based on the same oriented-object API.
- The components of Keyple Java are:
- 'Keyple Core': the generic interface to manage smart card reader solutions and select secure element.
- 'Calypso Extension': the library to define transaction with Calypso card.
- 'stub plugin': a tool to emulate readers and cards to operate Keyple without hardware elemnts.
- 'PC/SC plugin': the library to interface PC/SC readers to the Keyple Core.
- 'Android NFC plugin': the library to interface the native NFC contactless readers on Android device.
- 'OMAPI plugin': the library to interface the OMAPI contacts readers on Android device.
- 'Distributed module': a specific plugin solution to operate remote readers as localy.
- The components of Keyple C++ are:
- The Keyple Cpp is currently limited to support of the 'Calypso Core', the 'Calypso Extension', the 'stub plugin', and the ‘PC/SC plugin' (based on the same API as for Java components). The 'Distributed module' client will be added in the version 2.0.0.
More information on https://keyple.org/
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.
From May 25th, 2020 to September 7th, 2022
Name | Date | Review |
---|---|---|
2.0.0 (C++ 22/07 Keyple) | 2022-09-07 | |
2.1.0 (Java 22/06 Stup plugin Lib) | 2022-06-03 | |
2.2.0 (Java 22/05 Card Calypso Lib) | 2022-05-30 | |
2.1.0 (Java 22/05 Utility Lib) | 2022-05-30 | |
2.1.0 (Java 22/02 Card Calypso Lib) | 2022-02-01 | |
2.0.0 (Java 21/10) | 2021-10-06 | |
0.9.0 (Cpp 21/01) | 2021-01-26 | |
1.0.0 (Java 20/12) | 2020-12-16 | |
0.9.0 (Java 20/09) | 2020-09-11 | |
0.8.1 (Cpp 20/05) | 2020-05-25 |