Interface CardTransactionLegacySamExtension

  • All Superinterfaces:
    org.eclipse.keypop.calypso.card.transaction.spi.CardTransactionCryptoExtension

    public interface CardTransactionLegacySamExtension
    extends org.eclipse.keypop.calypso.card.transaction.spi.CardTransactionCryptoExtension
    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 SecureTransactionManager.getCryptoExtension(Class) or SecureTransactionManager.getCryptoExtension(Class).

    Since:
    0.3.0
    • Method Detail

      • prepareComputeSignature

        CardTransactionLegacySamExtension prepareComputeSignature​(SignatureComputationData<?> data)
        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:
        data - The input/output data containing the parameters of the command.
        Returns:
        The current instance.
        Throws:
        java.lang.IllegalArgumentException - If the input data is inconsistent.
        Since:
        0.3.0
        See Also:
        SignatureComputationData, BasicSignatureComputationData, TraceableSignatureComputationData