Interface FreeTransactionManager
-
- All Superinterfaces:
ReadTransactionManager<FreeTransactionManager>
,TransactionManager<FreeTransactionManager>
public interface FreeTransactionManager extends ReadTransactionManager<FreeTransactionManager>
Transaction manager dedicated to operations performed without control SAM.An instance of this interface can be obtained via the method
LegacySamApiFactory.createFreeTransactionManager(CardReader, LegacySam)
.- Since:
- 0.1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
exportTargetSamContextForAsyncTransaction()
Executes the required commands to obtain the security context, which will be used for future asynchronous write operations.FreeTransactionManager
prepareComputeSignature(SignatureComputationData<?> data)
Schedules the execution of a "Data Cipher" or "PSO Compute Signature" command.FreeTransactionManager
prepareVerifySignature(SignatureVerificationData<?> data)
Schedules the execution of a "Data Cipher" or "PSO Verify Signature" command.-
Methods inherited from interface org.eclipse.keypop.calypso.crypto.legacysam.transaction.ReadTransactionManager
prepareReadAllCountersStatus, prepareReadCounterStatus, prepareReadSystemKeyParameters
-
Methods inherited from interface org.eclipse.keypop.calypso.crypto.legacysam.transaction.TransactionManager
processCommands
-
-
-
-
Method Detail
-
prepareComputeSignature
FreeTransactionManager 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
orTraceableSignatureComputationData
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.1.0
- See Also:
SignatureComputationData
,BasicSignatureComputationData
,TraceableSignatureComputationData
- To add a signature to data recorded in a contactless card or ticket.
-
prepareVerifySignature
FreeTransactionManager prepareVerifySignature(SignatureVerificationData<?> data)
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
orTraceableSignatureVerificationData
objects.- 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.SamRevokedException
- If 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).- Since:
- 0.1.0
- See Also:
SignatureVerificationData
,BasicSignatureVerificationData
,TraceableSignatureVerificationData
-
exportTargetSamContextForAsyncTransaction
java.lang.String exportTargetSamContextForAsyncTransaction()
Executes the required commands to obtain the security context, which will be used for future asynchronous write operations.The exported target SAM context must be provided when creating an
AsyncTransactionCreatorManager
with the methodLegacySamApiFactory.createAsyncTransactionCreatorManager(String, SecuritySetting)
.- Returns:
- A not empty string containing the context.
- Since:
- 0.2.0
-
-