Keypop Calypso Crypto Legacy SAM API


As part of the Card Layer, the Calypso Crypto Legacy SAM API provides high-level functionality for selecting and performing transactions with Calypso Legacy SAMs and can also be coupled with the Calypso Card API to handle the cryptographic calculations required for Calypso card transactions secured by symmetric keys.

The documentation for the specification produced by the Calypso Networks Association, on which this API is based, is available here.


The Calypso Crypto Legacy SAM API provides the means to select a target or control SAM and then perform a transaction with the selected target.

  • The result of a SAM selection is a smartcard image whose keys’ parameters can be read.
  • A transaction with a target SAM may involve a control SAM in order to secure the operations.

The LegacySam interface provide accessors in order to recover the information of the selected smartcard.

To optimize the number of exchanges with a SAM reader, the Legacy SAM API allows to group the commands. A set of command could be first prepared, and then be processed by a selected target at the selection or during the transaction. A transaction with a Calypso SAM is fully managed through one of the LSTransactionManager interfaces:

Calypso Crypto Legacy SAM API - class diagram

Implementations & API Documentation

The third version number (x.y.z) only concerns updates of the javadoc because this component does not contain any implementation, but only an API.

Java implementation

All deliverables are available directly from the Maven Central Repository or by using one of the project resource managers below:

implementation 'org.eclipse.keypop:keypop-calypso-crypto-legacysam-java-api:0.5.0'

C++ implementation

work in progress…