Keypop Calypso Crypto Legacy SAM C++ API 0.6.0
Reference Calypso Crypto Legacy SAM API for C++
Public Member Functions | List of all members
keypop::calypso::crypto::legacysam::transaction::CardTransactionLegacySamExtension Class Referenceabstract

#include <CardTransactionLegacySamExtension.hpp>

Inheritance diagram for keypop::calypso::crypto::legacysam::transaction::CardTransactionLegacySamExtension:
Inheritance graph
[legend]
Collaboration diagram for keypop::calypso::crypto::legacysam::transaction::CardTransactionLegacySamExtension:
Collaboration graph
[legend]

Public Member Functions

virtual CardTransactionLegacySamExtensionprepareComputeSignature (SignatureComputationData<?> data)=0
 
virtual CardTransactionLegacySamExtensionprepareVerifySignature (SignatureVerificationData<?> data)=0
 

Detailed Description

Extends the CardTransactionCryptoExtension interface of the "Keypop Calypso Card API" to enrich the card transaction command set with specific crypto commands such as for example computation and signature verification operations.

An instance of this interface can be obtained via the methods keypop::calypso::card::transaction::SecureRegularModeTransactionManager ::getCryptoExtension(Class) or keypop::calypso::card::transaction::SecureExtendedModeTransactionManager ::getCryptoExtension(Class).

Since
0.3.0

Definition at line 39 of file CardTransactionLegacySamExtension.hpp.

Member Function Documentation

◆ prepareComputeSignature()

virtual CardTransactionLegacySamExtension & keypop::calypso::crypto::legacysam::transaction::CardTransactionLegacySamExtension::prepareComputeSignature ( SignatureComputationData<?>  data)
pure virtual

Schedules the execution of a "Data Cipher" or "PSO Compute Signature" command.

Once the command is processed, the result will be available in the provided input/output BasicSignatureComputationData or TraceableSignatureComputationData objects.

The signature may be used for many purposes, for example:

  • To add a signature to data recorded in a contactless card or ticket.
    Remark: to speed up processing, it is recommended to use a constant signing key (which is not diversified before ciphering). Instead, the serial number of the card or ticket should be inserted at the beginning of the data to sign.
  • To sign some data reported from a terminal to a central system.
    Remark: in this case, the terminal SAM contains a signing work key diversified with its own serial number, guarantying that the data has indeed been signed by this SAM. The central system SAM uses the master signing key, diversified before signing with the diversifier set previously by "Select Diversifier" command.
Parameters
dataThe input/output data containing the parameters of the command.
Returns
The current instance.
Exceptions
IllegalArgumentExceptionIf the input data is inconsistent.
See also
SignatureComputationData
BasicSignatureComputationData
TraceableSignatureComputationData
Since
0.3.0

◆ prepareVerifySignature()

virtual CardTransactionLegacySamExtension & keypop::calypso::crypto::legacysam::transaction::CardTransactionLegacySamExtension::prepareVerifySignature ( SignatureVerificationData<?>  data)
pure virtual

Schedules the execution of a "Data Cipher" or "PSO Verify Signature" command.

Once the command is processed, the result will be available in the provided input/output BasicSignatureVerificationData or TraceableSignatureVerificationData objects.

Parameters
dataThe input/output data containing the parameters of the command.
Returns
The current instance.
Exceptions
IllegalArgumentExceptionIf the input data is inconsistent.
SamRevokedExceptionIf the signature has been computed in "SAM traceability" mode and the SAM revocation status check has been requested and the SAM is revoked (for traceable signature only).
See also
SignatureVerificationData
BasicSignatureVerificationData
TraceableSignatureVerificationData
Since
0.3.0

The documentation for this class was generated from the following file: