From 361a89588f93e2b607b2daefdefc2ea711e19247 Mon Sep 17 00:00:00 2001 From: andrei-cristea Date: Tue, 26 Sep 2023 15:44:28 +0000 Subject: [PATCH] deploy: 3f7c47efdaf8080556184b179ae2348a17b47b89 --- 2.0.0-SNAPSHOT/api_class_diagram.puml | 10 +++++----- 2.0.0-SNAPSHOT/api_class_diagram.svg | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/2.0.0-SNAPSHOT/api_class_diagram.puml b/2.0.0-SNAPSHOT/api_class_diagram.puml index b3e8cc8..8524e2e 100644 --- a/2.0.0-SNAPSHOT/api_class_diagram.puml +++ b/2.0.0-SNAPSHOT/api_class_diagram.puml @@ -2,7 +2,7 @@ title - Terminal Calypso Card API 2.0.+ (2023-06-29) + Terminal Calypso Card API 2.0.+ (2023-09-21) end title ' == THEME == @@ -70,12 +70,12 @@ package "calypso.card" as calypsoCard { +CalypsoCardSelectionExtension createCalypsoCardSelectionExtension () +SymmetricCryptoSecuritySetting createSymmetricCryptoSecuritySetting (SymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory) - +AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory) + +AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory) +FreeTransactionManager createFreeTransactionManager (CardReader cardReader, CalypsoCard card) +SecureRegularModeTransactionManager createSecureRegularModeTransactionManager (CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) +SecureExtendedModeTransactionManager createSecureExtendedModeTransactionManager (CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) - +SecurePkiModeTransactionManager createSecurePkiModeTransactionManager (CardReader cardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) + +SecurePkiModeTransactionManager createSecurePkiModeTransactionManager (CardReader cardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) +SearchCommandData createSearchCommandData () } @@ -311,8 +311,8 @@ package "transaction" as transaction { +SecureExtendedModeTransactionManager prepareActivateEncryption () +SecureExtendedModeTransactionManager prepareDeactivateEncryption () } - +interface "SecurePkiModeTransactionManager" as SecurePkiModeTransactionManager <> extends SecureTransactionManager { - +SecurePkiModeTransactionManager prepareOpenSecureSession () + +interface "SecurePkiModeTransactionManager" as SecurePkiModeTransactionManager <> extends SecureTransactionManager { + +SecurePkiModeTransactionManager prepareOpenSecureSession () } +enum SvOperation <> { diff --git a/2.0.0-SNAPSHOT/api_class_diagram.svg b/2.0.0-SNAPSHOT/api_class_diagram.svg index 87309d1..03b9b35 100644 --- a/2.0.0-SNAPSHOT/api_class_diagram.svg +++ b/2.0.0-SNAPSHOT/api_class_diagram.svg @@ -1 +1 @@ - Terminal Calypso Card API 2.0.+ (2023-06-29)Colors legend:Work in progress...External public API references:Calypsonet Terminal Reader APIcalypso.cardcardtransactionspifinalCalypsoCardApiPropertiesfinalString VERSIONCalypsoCardApiFactoryCalypsoCardSelectionExtension createCalypsoCardSelectionExtension () SymmetricCryptoSecuritySetting createSymmetricCryptoSecuritySetting (SymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory)AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory) FreeTransactionManager createFreeTransactionManager (CardReadercardReader, CalypsoCard card)SecureRegularModeTransactionManager createSecureRegularModeTransactionManager (CardReadercardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting)SecureExtendedModeTransactionManager createSecureExtendedModeTransactionManager (CardReadercardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting)SecurePkiModeTransactionManager createSecurePkiModeTransactionManager (CardReadercardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) SearchCommandData createSearchCommandData ()WriteAccessLevelPERSONALIZATIONLOADDEBITSelectFileControlFIRST_EFNEXT_EFCURRENT_DFGetDataTagFCP_FOR_CURRENT_FILEFCI_FOR_CURRENT_DFEF_LISTTRACEABILITY_INFORMATION<<CardSelectionExtension>>CalypsoCardSelectionExtensionCalypsoCardSelectionExtension acceptInvalidatedCard () CalypsoCardSelectionExtension prepareSelectFile (short lid)CalypsoCardSelectionExtension prepareSelectFile (SelectFileControl selectControl) CalypsoCardSelectionExtension prepareGetData (GetDataTag tag) CalypsoCardSelectionExtension prepareReadRecord (byte sfi, int recordNumber)CalypsoCardSelectionExtension prepareReadBinary (byte sfi, int offset, int nbBytesToRead)CalypsoCardSelectionExtension prepareReadCounter (byte sfi, int nbCountersToRead) CalypsoCardSelectionExtension preparePreOpenSecureSession (WriteAccessLevel writeAccessLevel)CalypsoCardSelectionExtension preparePreOpenSecureSessionInPkiMode ()<<IsoSmartCard>>CalypsoCardProductType getProductType ()boolean isHce () boolean isDfInvalidated () byte[] getDfName ()byte[] getApplicationSerialNumber () byte[] getStartupInfoRawData ()byte getPlatform ()byte getApplicationType ()byte getApplicationSubtype ()byte getSoftwareIssuer ()byte getSoftwareVersion ()byte getSoftwareRevision ()byte getSessionModification () byte[] getTraceabilityInformation () DirectoryHeader getDirectoryHeader ()ElementaryFile getFileBySfi (byte sfi)ElementaryFile getFileByLid (short lid)Set<ElementaryFile> getFiles () boolean isDfRatified ()int getTransactionCounter () boolean isPkiModeSupported ()boolean isExtendedModeSupported ()boolean isRatificationOnDeselectSupported () boolean isPinFeatureAvailable ()boolean isPinBlocked ()int getPinAttemptRemaining () boolean isSvFeatureAvailable ()int getSvBalance ()int getSvLastTNum ()SvLoadLogRecord getSvLoadLogRecord ()SvDebitLogRecord getSvDebitLogLastRecord ()List<SvDebitLogRecord> getSvDebitLogAllRecords ()DirectoryHeadershort getLid ()Byte getDfStatus () byte[] getAccessConditions ()byte[] getKeyIndexes () byte getKif (WriteAccessLevel writeAccessLevel)byte getKvc (WriteAccessLevel writeAccessLevel)ElementaryFilebyte getSfi ()FileHeader getHeader ()FileData getData ()FileHeadershort getLid ()byte getDfStatus ()ElementaryFile.Type getEfType () int getRecordsNumber ()int getRecordSize () byte[] getAccessConditions ()byte[] getKeyIndexes () Short getSharedReference ()TypeLINEARBINARYCYCLICCOUNTERSSIMULATED_COUNTERSFileDatabyte[] getContent ()byte[] getContent (int numRecord)byte[] getContent (int numRecord, int dataOffset, int dataLength)SortedMap<Integer, byte[]> getAllRecordsContent () Integer getContentAsCounterValue (int numCounter)SortedMap<Integer, Integer> getAllCountersValue ()ProductTypePRIME_REVISION_1PRIME_REVISION_2PRIME_REVISION_3LIGHTBASICUNKNOWNSvLoadLogRecordbyte[] getRawData () byte[] getLoadDate ()byte[] getLoadTime () int getAmount ()int getBalance ()byte[] getFreeData () byte getKvc ()byte[] getSamId ()int getSamTNum ()int getSvTNum ()SvDebitLogRecordbyte[] getRawData () byte[] getDebitDate ()byte[] getDebitTime () int getAmount ()int getBalance () byte getKvc ()byte[] getSamId ()int getSamTNum ()int getSvTNum ()TransactionManagerT extends TransactionManager<T>T prepareSelectFile (short lid)T prepareSelectFile (SelectFileControl selectFileControl) T prepareGetData (GetDataTag tag) T prepareReadRecord (byte sfi, int recordNumber)T prepareReadRecords (byte sfi, int fromRecordNumber, int toRecordNumber, int recordSize)T prepareReadRecordsPartially (byte sfi, int fromRecordNumber, int toRecordNumber, int offset, int nbBytesToRead)T prepareReadBinary (byte sfi, int offset, int nbBytesToRead)T prepareReadCounter (byte sfi, int nbCountersToRead) T prepareSearchRecords (SearchCommandData data) T prepareCheckPinStatus () T prepareAppendRecord (byte sfi, byte[] recordData)T prepareUpdateRecord (byte sfi, int recordNumber, byte[] recordData)T prepareWriteRecord (byte sfi, int recordNumber, byte[] recordData) T prepareUpdateBinary (byte sfi, int offset, byte[] data)T prepareWriteBinary (byte sfi, int offset, byte[] data) T prepareIncreaseCounter (byte sfi, int counterNumber, int incValue)T prepareIncreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToIncValueMap)T prepareDecreaseCounter (byte sfi, int counterNumber, int decValue)T prepareDecreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToDecValueMap)T prepareSetCounter (byte sfi, int counterNumber, int newValue) T prepareSvReadAllLogs () T prepareVerifyPin (byte[] pin)T prepareChangePin (byte[] newPin) T processCommands (ChannelControl channelControl) List<byte[]> getTransactionAuditData ()ChannelControlKEEP_OPENCLOSE_AFTERFreeTransactionManagerSecureTransactionManagerT extends SecureTransactionManager<T><E extends CardTransactionCryptoExtension> E getCryptoExtension (Class<E> cryptoExtensionClass) T prepareCloseSecureSession ()T prepareCancelSecureSession ()SecureSymmetricCryptoTransactionManagerT extends SecureSymmetricCryptoTransactionManager<T>T prepareOpenSecureSession (WriteAccessLevel writeAccessLevel) T prepareSvGet (SvOperation svOperation, SvAction svAction)T prepareSvReload (int amount, byte[] date, byte[] time, byte[] free)T prepareSvReload (int amount)T prepareSvDebit (int amount, byte[] date, byte[] time)T prepareSvDebit (int amount) T prepareInvalidate ()T prepareRehabilitate () T prepareChangeKey (int keyIndex, byte newKif, byte newKvc, byte issuerKif, byte issuerKvc) void initCryptoContextForNextTransaction ()SecureRegularModeTransactionManagerSecureExtendedModeTransactionManagerSecureExtendedModeTransactionManager prepareEarlyMutualAuthentication ()SecureExtendedModeTransactionManager prepareActivateEncryption ()SecureExtendedModeTransactionManager prepareDeactivateEncryption ()SecurePkiModeTransactionManagerSecurePkiModeTransactionManager prepareOpenSecureSession ()SvOperationRELOADDEBITSvActionDOUNDOAsymmetricCryptoSecuritySettingAsymmetricCryptoSecuritySetting setAuthorityPublicKey (byte[] publicKey)AsymmetricCryptoSecuritySetting setAuthorityCertificate (X509Certificate certificate)AsymmetricCryptoSecuritySetting enableUnsignedPublicKeyUsage ()SymmetricCryptoSecuritySettingSymmetricCryptoSecuritySetting enableMultipleSession ()SymmetricCryptoSecuritySetting enableRatificationMechanism ()SymmetricCryptoSecuritySetting enablePinPlainTransmission ()SymmetricCryptoSecuritySetting enableSvLoadAndDebitLog ()SymmetricCryptoSecuritySetting authorizeSvNegativeBalance ()SymmetricCryptoSecuritySetting disableReadOnSessionOpening () SymmetricCryptoSecuritySetting assignKif (WriteAccessLevel writeAccessLevel, byte kvc, byte kif)SymmetricCryptoSecuritySetting assignDefaultKif (WriteAccessLevel writeAccessLevel, byte kif)SymmetricCryptoSecuritySetting assignDefaultKvc (WriteAccessLevel writeAccessLevel, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSessionKey (byte kif, byte kvc)SymmetricCryptoSecuritySetting addAuthorizedSvKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinVerificationCipheringKey (byte kif, byte kvc)SymmetricCryptoSecuritySetting setPinModificationCipheringKey (byte kif, byte kvc)SearchCommandDataSearchCommandData setSfi (byte sfi)SearchCommandData startAtRecord (int recordNumber)SearchCommandData setOffset (int offset)SearchCommandData enableRepeatedOffset ()SearchCommandData setSearchData (byte[] data)SearchCommandData setMask (byte[] mask)SearchCommandData fetchFirstMatchingResult () List<Integer> getMatchingRecordNumbers ()«RuntimeException»SessionBufferOverflowException: Session buffer would overflow for atomic session.UnauthorizedKeyExceptionInvalidPinExceptionCardRevokedExceptionInconsistentDataException: Number of R-APDUs != number of C-APDUsordata read in session != data read outside session.InvalidCardMacExceptionCardMacNotVerifiableException: CloseSecureSession is successful but crypto resource is no more available to check the card MAC.SelectFileExceptionUnexpectedCommandStatusExceptionReaderIOException: Card reader and/or Crypto reader communication is broken.CardIOExceptionCryptoIOExceptionAsymmetricCryptoTransactionManagerFactorySymmetricCryptoTransactionManagerFactoryCardTransactionCryptoExtensionuseuseuseuseprovideuseuseuseuseuseuseuseprovideprovideprovideprovideprovideuseprovideprovideprovide \ No newline at end of file + Terminal Calypso Card API 2.0.+ (2023-09-21)Colors legend:Work in progress...External public API references:Calypsonet Terminal Reader APIcalypso.cardcardtransactionspifinalCalypsoCardApiPropertiesfinalString VERSIONCalypsoCardApiFactoryCalypsoCardSelectionExtension createCalypsoCardSelectionExtension () SymmetricCryptoSecuritySetting createSymmetricCryptoSecuritySetting (SymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory)AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoTransactionManagerFactory cryptoTransactionManagerFactory) FreeTransactionManager createFreeTransactionManager (CardReadercardReader, CalypsoCard card)SecureRegularModeTransactionManager createSecureRegularModeTransactionManager (CardReadercardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting)SecureExtendedModeTransactionManager createSecureExtendedModeTransactionManager (CardReadercardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting)SecurePkiModeTransactionManager createSecurePkiModeTransactionManager (CardReadercardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) SearchCommandData createSearchCommandData ()WriteAccessLevelPERSONALIZATIONLOADDEBITSelectFileControlFIRST_EFNEXT_EFCURRENT_DFGetDataTagFCP_FOR_CURRENT_FILEFCI_FOR_CURRENT_DFEF_LISTTRACEABILITY_INFORMATION<<CardSelectionExtension>>CalypsoCardSelectionExtensionCalypsoCardSelectionExtension acceptInvalidatedCard () CalypsoCardSelectionExtension prepareSelectFile (short lid)CalypsoCardSelectionExtension prepareSelectFile (SelectFileControl selectControl) CalypsoCardSelectionExtension prepareGetData (GetDataTag tag) CalypsoCardSelectionExtension prepareReadRecord (byte sfi, int recordNumber)CalypsoCardSelectionExtension prepareReadBinary (byte sfi, int offset, int nbBytesToRead)CalypsoCardSelectionExtension prepareReadCounter (byte sfi, int nbCountersToRead) CalypsoCardSelectionExtension preparePreOpenSecureSession (WriteAccessLevel writeAccessLevel)CalypsoCardSelectionExtension preparePreOpenSecureSessionInPkiMode ()<<IsoSmartCard>>CalypsoCardProductType getProductType ()boolean isHce () boolean isDfInvalidated () byte[] getDfName ()byte[] getApplicationSerialNumber () byte[] getStartupInfoRawData ()byte getPlatform ()byte getApplicationType ()byte getApplicationSubtype ()byte getSoftwareIssuer ()byte getSoftwareVersion ()byte getSoftwareRevision ()byte getSessionModification () byte[] getTraceabilityInformation () DirectoryHeader getDirectoryHeader ()ElementaryFile getFileBySfi (byte sfi)ElementaryFile getFileByLid (short lid)Set<ElementaryFile> getFiles () boolean isDfRatified ()int getTransactionCounter () boolean isPkiModeSupported ()boolean isExtendedModeSupported ()boolean isRatificationOnDeselectSupported () boolean isPinFeatureAvailable ()boolean isPinBlocked ()int getPinAttemptRemaining () boolean isSvFeatureAvailable ()int getSvBalance ()int getSvLastTNum ()SvLoadLogRecord getSvLoadLogRecord ()SvDebitLogRecord getSvDebitLogLastRecord ()List<SvDebitLogRecord> getSvDebitLogAllRecords ()DirectoryHeadershort getLid ()Byte getDfStatus () byte[] getAccessConditions ()byte[] getKeyIndexes () byte getKif (WriteAccessLevel writeAccessLevel)byte getKvc (WriteAccessLevel writeAccessLevel)ElementaryFilebyte getSfi ()FileHeader getHeader ()FileData getData ()FileHeadershort getLid ()byte getDfStatus ()ElementaryFile.Type getEfType () int getRecordsNumber ()int getRecordSize () byte[] getAccessConditions ()byte[] getKeyIndexes () Short getSharedReference ()TypeLINEARBINARYCYCLICCOUNTERSSIMULATED_COUNTERSFileDatabyte[] getContent ()byte[] getContent (int numRecord)byte[] getContent (int numRecord, int dataOffset, int dataLength)SortedMap<Integer, byte[]> getAllRecordsContent () Integer getContentAsCounterValue (int numCounter)SortedMap<Integer, Integer> getAllCountersValue ()ProductTypePRIME_REVISION_1PRIME_REVISION_2PRIME_REVISION_3LIGHTBASICUNKNOWNSvLoadLogRecordbyte[] getRawData () byte[] getLoadDate ()byte[] getLoadTime () int getAmount ()int getBalance ()byte[] getFreeData () byte getKvc ()byte[] getSamId ()int getSamTNum ()int getSvTNum ()SvDebitLogRecordbyte[] getRawData () byte[] getDebitDate ()byte[] getDebitTime () int getAmount ()int getBalance () byte getKvc ()byte[] getSamId ()int getSamTNum ()int getSvTNum ()TransactionManagerT extends TransactionManager<T>T prepareSelectFile (short lid)T prepareSelectFile (SelectFileControl selectFileControl) T prepareGetData (GetDataTag tag) T prepareReadRecord (byte sfi, int recordNumber)T prepareReadRecords (byte sfi, int fromRecordNumber, int toRecordNumber, int recordSize)T prepareReadRecordsPartially (byte sfi, int fromRecordNumber, int toRecordNumber, int offset, int nbBytesToRead)T prepareReadBinary (byte sfi, int offset, int nbBytesToRead)T prepareReadCounter (byte sfi, int nbCountersToRead) T prepareSearchRecords (SearchCommandData data) T prepareCheckPinStatus () T prepareAppendRecord (byte sfi, byte[] recordData)T prepareUpdateRecord (byte sfi, int recordNumber, byte[] recordData)T prepareWriteRecord (byte sfi, int recordNumber, byte[] recordData) T prepareUpdateBinary (byte sfi, int offset, byte[] data)T prepareWriteBinary (byte sfi, int offset, byte[] data) T prepareIncreaseCounter (byte sfi, int counterNumber, int incValue)T prepareIncreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToIncValueMap)T prepareDecreaseCounter (byte sfi, int counterNumber, int decValue)T prepareDecreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToDecValueMap)T prepareSetCounter (byte sfi, int counterNumber, int newValue) T prepareSvReadAllLogs () T prepareVerifyPin (byte[] pin)T prepareChangePin (byte[] newPin) T processCommands (ChannelControl channelControl) List<byte[]> getTransactionAuditData ()ChannelControlKEEP_OPENCLOSE_AFTERFreeTransactionManagerSecureTransactionManagerT extends SecureTransactionManager<T><E extends CardTransactionCryptoExtension> E getCryptoExtension (Class<E> cryptoExtensionClass) T prepareCloseSecureSession ()T prepareCancelSecureSession ()SecureSymmetricCryptoTransactionManagerT extends SecureSymmetricCryptoTransactionManager<T>T prepareOpenSecureSession (WriteAccessLevel writeAccessLevel) T prepareSvGet (SvOperation svOperation, SvAction svAction)T prepareSvReload (int amount, byte[] date, byte[] time, byte[] free)T prepareSvReload (int amount)T prepareSvDebit (int amount, byte[] date, byte[] time)T prepareSvDebit (int amount) T prepareInvalidate ()T prepareRehabilitate () T prepareChangeKey (int keyIndex, byte newKif, byte newKvc, byte issuerKif, byte issuerKvc) void initCryptoContextForNextTransaction ()SecureRegularModeTransactionManagerSecureExtendedModeTransactionManagerSecureExtendedModeTransactionManager prepareEarlyMutualAuthentication ()SecureExtendedModeTransactionManager prepareActivateEncryption ()SecureExtendedModeTransactionManager prepareDeactivateEncryption ()SecurePkiModeTransactionManagerSecurePkiModeTransactionManager prepareOpenSecureSession ()SvOperationRELOADDEBITSvActionDOUNDOAsymmetricCryptoSecuritySettingAsymmetricCryptoSecuritySetting setAuthorityPublicKey (byte[] publicKey)AsymmetricCryptoSecuritySetting setAuthorityCertificate (X509Certificate certificate)AsymmetricCryptoSecuritySetting enableUnsignedPublicKeyUsage ()SymmetricCryptoSecuritySettingSymmetricCryptoSecuritySetting enableMultipleSession ()SymmetricCryptoSecuritySetting enableRatificationMechanism ()SymmetricCryptoSecuritySetting enablePinPlainTransmission ()SymmetricCryptoSecuritySetting enableSvLoadAndDebitLog ()SymmetricCryptoSecuritySetting authorizeSvNegativeBalance ()SymmetricCryptoSecuritySetting disableReadOnSessionOpening () SymmetricCryptoSecuritySetting assignKif (WriteAccessLevel writeAccessLevel, byte kvc, byte kif)SymmetricCryptoSecuritySetting assignDefaultKif (WriteAccessLevel writeAccessLevel, byte kif)SymmetricCryptoSecuritySetting assignDefaultKvc (WriteAccessLevel writeAccessLevel, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSessionKey (byte kif, byte kvc)SymmetricCryptoSecuritySetting addAuthorizedSvKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinVerificationCipheringKey (byte kif, byte kvc)SymmetricCryptoSecuritySetting setPinModificationCipheringKey (byte kif, byte kvc)SearchCommandDataSearchCommandData setSfi (byte sfi)SearchCommandData startAtRecord (int recordNumber)SearchCommandData setOffset (int offset)SearchCommandData enableRepeatedOffset ()SearchCommandData setSearchData (byte[] data)SearchCommandData setMask (byte[] mask)SearchCommandData fetchFirstMatchingResult () List<Integer> getMatchingRecordNumbers ()«RuntimeException»SessionBufferOverflowException: Session buffer would overflow for atomic session.UnauthorizedKeyExceptionInvalidPinExceptionCardRevokedExceptionInconsistentDataException: Number of R-APDUs != number of C-APDUsordata read in session != data read outside session.InvalidCardMacExceptionCardMacNotVerifiableException: CloseSecureSession is successful but crypto resource is no more available to check the card MAC.SelectFileExceptionUnexpectedCommandStatusExceptionReaderIOException: Card reader and/or Crypto reader communication is broken.CardIOExceptionCryptoIOExceptionAsymmetricCryptoTransactionManagerFactorySymmetricCryptoTransactionManagerFactoryCardTransactionCryptoExtensionuseuseuseuseprovideuseuseuseuseuseuseuseprovideprovideprovideprovideprovideuseprovideprovideprovide \ No newline at end of file