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::TraceableSignatureVerificationData Class Referenceabstract

#include <TraceableSignatureVerificationData.hpp>

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

Public Member Functions

virtual TraceableSignatureVerificationDatawithSamTraceabilityMode (const int offset, const SamTraceabilityMode samTraceabilityMode, const std::shared_ptr< LegacySamRevocationServiceSpi > samRevocationService)=0
 
virtual TraceableSignatureVerificationDatawithoutBusyMode ()=0
 
- Public Member Functions inherited from keypop::calypso::crypto::legacysam::transaction::SignatureVerificationData< TraceableSignatureVerificationData >
virtual TraceableSignatureVerificationDatasetData (const std::vector< uint8_t > &data, const std::vector< uint8_t > &signature, const uint8_t kif, const uint8_t kvc)=0
 
virtual TraceableSignatureVerificationDatasetKeyDiversifier (const std::vector< uint8_t > &diversifier)=0
 
virtual bool isSignatureValid () const=0
 

Detailed Description

Contains the input/output data of the FreeTransactionManager#prepareVerifySignature(SignatureVerificationData) method for traceable signature verification using the "PSO Verify Signature" command.

An instance of this interface can be obtained via the method org.eclipse.keypop.calypso.crypto.legacysam.LegacySamApiFactory#createTraceableSignatureVerificationData().

Since
0.1.0

Definition at line 36 of file TraceableSignatureVerificationData.hpp.

Member Function Documentation

◆ withoutBusyMode()

virtual TraceableSignatureVerificationData & keypop::calypso::crypto::legacysam::transaction::TraceableSignatureVerificationData::withoutBusyMode ( )
pure virtual

Indicates that the signature has been computed in non "Busy" mode.

By default, the signature is supposed to have been computed in "Busy" mode.

The signature may have been generated with "Busy mode" enabled. In this mode, after a "PSO Verify Signature" failing because of an incorrect signature, during a few seconds the SAM rejects any "PSO Verify Signature" commands with "Busy" mode by responding with the "busy" status word.

When a "PSO Verify Signature" fails with the busy status, the terminal should repeat the command until the SAM is not busy anymore.

The busy mode duration is typically of a few seconds, and it is never of greater than ten seconds.

Note that after a reset of the SAM, "PSO Verify Signature" commands being in "Busy" mode fail with the busy status until the end of the busy mode duration.

Returns
The current instance.
See also
TraceableSignatureComputationData::withoutBusyMode()
Since
0.1.0

◆ withSamTraceabilityMode()

virtual TraceableSignatureVerificationData & keypop::calypso::crypto::legacysam::transaction::TraceableSignatureVerificationData::withSamTraceabilityMode ( const int  offset,
const SamTraceabilityMode  samTraceabilityMode,
const std::shared_ptr< LegacySamRevocationServiceSpi samRevocationService 
)
pure virtual

Indicates that the signature has been computed in "SAM traceability" mode and therefore whether the revocation status of the signing SAM should be checked or not.

By default, the signature is not supposed to have been computed in "SAM traceability" mode.

Parameters
offsetThe offset in bits of the SAM traceability data.
samTraceabilityModeThe SAM traceability mode which have been used.
samRevocationServiceIf it is provided, then the revocation status of the SAM that signed the data will be checked by the SAM revocation service.
Returns
The current instance.
See also
TraceableSignatureComputationData::withSamTraceabilityMode(int, SamTraceabilityMode)
Exceptions
IllegalArgumentExceptionIf the provided samTraceabilityMode is null.
Since
0.1.0

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