Eclipse Keyple
Raw repository of the 'Eclipse Keyple' project (referencing all the components).
More information can be found on keyple.org.
Repositories
- Project web site: https://github.com/eclipse/keyple-website
- Continuous Integration:
- CI configuration https://github.com/eclipse/keyple-ops/
- Integration test https://github.com/eclipse/keyple-integration-java-test
- Implementation examples:
- Meta scripts to download & build Keyple C++ components https://github.com/eclipse/keyple-cpp-meta
- Components from version 2.x (several repositories: status on https://keyple.org/repositories-dashboard/):
- external standardized Calypso Terminal API:
- Reader API
- info https://terminal-api.calypsonet.org/apis/calypsonet-terminal-reader-api/
- Java doc https://calypsonet.github.io/calypsonet-terminal-reader-java-api/
- Java code https://github.com/calypsonet/calypsonet-terminal-reader-java-api
- C++ doc https://calypsonet.github.io/calypsonet-terminal-reader-cpp-api/
- C++ code https://github.com/calypsonet/calypsonet-terminal-reader-cpp-api
- Card API
- info https://terminal-api.calypsonet.org/apis/calypsonet-terminal-card-api/
- Java doc https://calypsonet.github.io/calypsonet-terminal-card-java-api/
- Java code https://github.com/calypsonet/calypsonet-terminal-card-java-api
- C++ doc https://calypsonet.github.io/calypsonet-terminal-card-cpp-api/
- C++ code https://github.com/calypsonet/calypsonet-terminal-card-cpp-api
- Calypso API (the main API for Calypso terminal application implementation)
- info https://terminal-api.calypsonet.org/apis/calypsonet-terminal-calypso-api/
- Java doc https://calypsonet.github.io/calypsonet-terminal-calypso-java-api/
- Java code https://github.com/calypsonet/calypsonet-terminal-calypso-java-api (main API for Calypso terminal application impementation)
- C++ doc https://calypsonet.github.io/calypsonet-terminal-calypso-cpp-api/
- C++ code https://github.com/calypsonet/calypsonet-terminal-calypso-cpp-api
- Core components:
- Keyple Service (service implementing Reader API & Card API)
- info https://keyple.org/components-java/core/keyple-service-java-lib/
- Java doc https://eclipse.github.io/keyple-service-java-lib/
- Java code https://github.com/eclipse/keyple-service-java-lib
- C++ doc https://eclipse.github.io/keyple-service-cpp-lib/
- C++ code https://github.com/eclipse/keyple-service-cpp-lib
- Plugin SPI (for pluging implementation)
- info https://keyple.org/components-java/core/keyple-plugin-java-api/
- Java doc https://eclipse.github.io/keyple-plugin-java-api/
- Java code https://github.com/eclipse/keyple-plugin-java-api
- C++ doc https://eclipse.github.io/keyple-plugin-cpp-api/
- C++ code https://github.com/eclipse/keyple-plugin-cpp-api
- Utility
- Keyple shared reference
- info https://keyple.org/components-java/core/keyple-common-java-api/
- Java doc https://eclipse.github.io/keyple-common-java-api/
- Java code https://github.com/eclipse/keyple-common-java-api
- C++ doc https://eclipse.github.io/keyple-common-cpp-api/
- C++ code https://github.com/eclipse/keyple-common-cpp-api
- Helper functions
- Keyple shared reference
- Keyple Service (service implementing Reader API & Card API)
- Card resource manager extension
- info https://keyple.org/components-java/core/keyple-service-resource-java-lib/
- Java doc https://eclipse.github.io/keyple-service-resource-java-lib/
- Java code https://github.com/eclipse/keyple-service-resource-java-lib
- C++ doc https://eclipse.github.io/keyple-service-resource-cpp-lib/
- C++ code https://github.com/eclipse/keyple-service-resource-cpp-lib
- Distributed module (for remote card readers): not yet available in C++
- for terminal operating a remote reader
- for terminal interfaced with a local reader
- common lib for network messaging
- Card solution extensions:
- Generic card example of card extension implementation to operate a "generic" smart card solution using low-level APDU commandscommunication
- info https://keyple.org/components-java/card-extensions/keyple-card-generic-java-lib/
- Java doc https://eclipse.github.io/keyple-card-generic-java-lib/
- Java code https://github.com/eclipse/keyple-card-generic-java-lib
- C++ doc https://eclipse.github.io/keyple-card-generic-cpp-lib/
- C++ code https://github.com/eclipse/keyple-card-generic-cpp-lib
- Calypso card library to manage Calypso processing on a terminal (implementation of the Calypso API)
- info https://keyple.org/components-java/card-extensions/keyple-card-calypso-java-lib/
- Java doc https://eclipse.github.io/keyple-card-calypso-java-lib/
- Java code https://github.com/eclipse/keyple-card-calypso-java-lib
- C++ doc https://eclipse.github.io/keyple-card-calypso-cpp-lib/
- C++ code https://github.com/eclipse/keyple-card-calypso-cpp-lib
- Generic card example of card extension implementation to operate a "generic" smart card solution using low-level APDU commandscommunication
- Plugins for "standardized" smartcard reader solutions:
- PC/SC (Windows/Linux/MacOS)
- info https://keyple.org/components-java/standard-reader-plugins/keyple-plugin-pcsc-java-lib/
- Java doc https://eclipse.github.io/keyple-plugin-pcsc-java-lib/
- Java code https://github.com/eclipse/keyple-plugin-pcsc-java-lib
- C++ doc https://eclipse.github.io/keyple-plugin-pcsc-cpp-lib/
- C++ code https://github.com/eclipse/keyple-plugin-pcsc-cpp-lib
- Android OMAPI - to interface an 'internal' Secure Element in an Android device
- Android NFC - to interface an "external" Secure Element with an Android device (using NFC Reader mode)
- Reader emulation - for testing without hardware solution
- info https://keyple.org/components-java/standard-reader-plugins/keyple-plugin-stub-java-lib/
- Java doc https://eclipse.github.io/keyple-plugin-stub-java-lib/
- Java code https://github.com/eclipse/keyple-plugin-stub-java-lib
- C++ doc https://eclipse.github.io/keyple-plugin-stub-cpp-lib/
- C++ code https://github.com/eclipse/keyple-plugin-stub-cpp-lib
- PC/SC (Windows/Linux/MacOS)
- Reader API
- external standardized Calypso Terminal API:
- Deprecated components before version 2.x (a single repository per language):
- Java info until version 1.0.0 https://keyple.org/components-java-1.0/
- Java code until version 1.0.0 https://github.com/eclipse/keyple-java (archived repository)
- C++ info until version 0.9.0 https://keyple.org/components-cpp-0.9/
- C++ code until version 0.9.0 https://github.com/eclipse/keyple-cpp (archived repository)
Please check the individual repositories for instructions for building and contributing.
Contributing
- Fork the eclipse/keyple repository
- Clone repository:
git clone https://github.com/[your_github_username]/keyple.git
- Create your feature branch:
git checkout -b my-new-feature
- Make your changes
- Commit your changes:
git commit -m "Add some feature" -s
- Push feature branch:
git push origin my-new-feature
- Submit a pull request
Declared Project Licenses
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
SPDX-License-Identifier: EPL-2.0
Bugs and feature requests
Have a bug or a feature request? Please search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
Trademarks
- Eclipse Keyple and the Eclipse Keyple project are Trademarks of the Eclipse Foundation, Inc.
- Eclipse® is a Trademark of the Eclipse Foundation, Inc.
- Eclipse Foundation is a Trademark of the Eclipse Foundation, Inc.
Copyright and license
Copyright 2020 the Eclipse Foundation, Inc. and the keyple authors. Code released under the Eclipse Public License Version 2.0 (EPL-2.0).