Infineon OPTIGA(TM) Trust X command library APIS. More...
Data Structures | |
struct | sCmdResponse_d |
Structure to receive the response of the device for a command. More... | |
struct | sOpenApp_d |
Structure to specify open application command parameters. More... | |
struct | sGetData_d |
Structure to specify GetDataObject command parameters. More... | |
struct | sSetData_d |
Structure to specify SetDataObject command parameters. More... | |
struct | sAuthMsg_d |
Structure to specify authentication command parameters. More... | |
struct | sAuthScheme_d |
Structure to specify authentication Scheme parameters. More... | |
struct | sRngOptions_d |
Structure to specify option to generate random number. More... | |
struct | sOIDInfo_d |
Structure to specify OID information. More... | |
struct | sContextInfo_d |
Structure to specify the information for context information. More... | |
struct | sCalcHash_d |
Structure to specify parameters for Hash generation. More... | |
struct | sHashinfo |
Structure to specify hash information. More... | |
struct | sPubKeyInput_d |
Structure to specify public key for verify hash. More... | |
struct | sVerifyOption_d |
Structure to specify parameters for Signature verification. More... | |
struct | sOutKeyPair_d |
Structure to return key pair as output. More... | |
struct | sKeyPairOption_d |
Structure to specify parameters for Key Pair Generation. More... | |
struct | sCalcSignOptions_d |
Structure to specify parameters for signature generation. More... | |
struct | sCalcSSecOptions_d |
Structure to specify parameters for shared secret calculation. More... | |
struct | sDeriveKeyOptions_d |
Structure to specify parameters for derive key generation. More... | |
union | uMsgParams_d |
Union to specify message specific parameters. More... | |
struct | sCallBack_d |
Structure to specify Call back parameters for Get Message. More... | |
struct | sProcMsgData_d |
Structure to specify parameters for (D)TLS handshake messages. More... | |
struct | sProcCryptoData_d |
Structure to specify ProcUpLink/ProcDownLink command parameters. More... | |
Macros | |
#define | CMD_LIB_OK 0x75E96B01 |
Requested operation completed without any error. | |
#define | CMD_DEV_ERROR 0x80010000 |
Device error, the device error(last error code) is available in the least significant byte e.g. for Invalid OID 0x80010001 is returned. | |
#define | CMD_DEV_EXEC_ERROR 0x80020000 |
An error to indicate that command execution failed.It is possibly that the application on security chip is not open or communication failure has occurred. | |
#define | CMD_LIB_NULL_PARAM 0x80001001 |
Null parameter(s) | |
#define | CMD_LIB_INVALID_PARAM (CMD_LIB_NULL_PARAM + 1) |
Invalid or unsupported parameter(s) | |
#define | CMD_LIB_INSUFFICIENT_MEMORY (CMD_LIB_NULL_PARAM + 2) |
Insufficient memory. | |
#define | CMD_LIB_LENZERO_ERROR (CMD_LIB_NULL_PARAM + 3) |
Length of Input is zero. | |
#define | CMD_LIB_INVALID_SESSIONID (CMD_LIB_NULL_PARAM + 4) |
Invalid Session ID. | |
#define | CMD_LIB_INVALID_TAG (CMD_LIB_NULL_PARAM + 5) |
Invalid Tag. | |
#define | CMD_LIB_INVALID_TAGLEN (CMD_LIB_NULL_PARAM + 6) |
Invalid Tag Length. | |
#define | CMD_LIB_INVALID_LEN (CMD_LIB_NULL_PARAM + 7) |
Invalid Length. | |
#define | CMD_LIB_DECRYPT_FAILURE (CMD_LIB_NULL_PARAM + 8) |
Decryption failed. | |
#define | CMD_LIB_INVALID_OID (CMD_LIB_NULL_PARAM + 9) |
Invalid OID. | |
#define | CMD_LIB_ERROR 0xF87ECF01 |
Generic error condition. | |
#define | CALC_HASH_SHA256_CONTEXT_SIZE (130) |
Length of the hash context information for SHA 256. | |
#define | CALC_HASH_FIXED_OVERHEAD_SIZE (0x03 + 0x04) |
Overhead for all hash calculation operations (Tag and Length size (3 bytes) + APDU header (4 bytes)) | |
#define | CALC_HASH_IMPORT_OR_EXPORT_OVERHEAD_SIZE (0x03) |
Overhead for import or export hash context (Tag and Length size (3 bytes)) | |
#define | CALC_HASH_IMPORT_AND_EXPORT_OVERHEAD_SIZE (0x06) |
Overhead for import and export hash context. | |
#define | CHALLENGE_MIN_LEN 0x08 |
Challenge minimum length. | |
#define | CHALLENGE_MAX_LEN 0x100 |
Challenge maximum length. | |
#define | LEN_APDUHEADER 0x04 |
Length of APDU header. | |
#define | BYTES_SESSIONID 0x02 |
Number of bytes in Session ID field. | |
#define | BITS_PER_BYTE 0x08 |
bits per byte | |
#define | LEN_TAG_ENCODING 0x03 |
Tag Encoding length. | |
#define | ADDITIONALBYTES_ENCDEC 10 |
Additional bytes for Encryption/Decryption. | |
#define | OVERHEAD_UPDOWNLINK (LEN_APDUHEADER + BYTES_SESSIONID + LEN_TAG_ENCODING + ADDITIONALBYTES_ENCDEC) |
Overhead for all uplink/downlink messages. | |
#define | OVERHEAD_ENCDEC_RESPONSE (LEN_APDUHEADER + LEN_TAG_ENCODING) |
Typedefs | |
typedef struct sCmdResponse_d | sCmdResponse_d |
Structure to receive the response of the device for a command. | |
typedef int32_t(* | pFTransceive )(const void *ctx, const uint8_t *PprgbWriteBuffer, const uint16_t *PpwWriteBufferLen, uint8_t *PprgbReadBuffer, uint16_t *PpwReadBufferLen) |
Function to send a command and receive response for the command. | |
typedef enum eOpenType_d | eOpenType_d |
Enumerations to open the application on security chip. | |
typedef struct sOpenApp_d | sOpenApp_d |
Structure to specify open application command parameters. | |
typedef enum eDataOrMedata_d | eDataOrMedata_d |
Enumeration to specify data or metadata. | |
typedef enum eWriteOption_d | eWriteOption_d |
Enumeration to specify write option. | |
typedef struct sGetData_d | sGetData_d |
Structure to specify GetDataObject command parameters. | |
typedef struct sSetData_d | sSetData_d |
Structure to specify SetDataObject command parameters. | |
typedef enum eAuthScheme_d | eAuthScheme_d |
Enumeration to specify an authentication scheme. | |
typedef struct sAuthMsg_d | sAuthMsg_d |
Structure to specify authentication command parameters. | |
typedef struct sAuthScheme_d | sAuthScheme_d |
Structure to specify authentication Scheme parameters. | |
typedef enum eRngType_d | eRngType_d |
Enumeration to specify the type of the random number. | |
typedef struct sRngOptions_d | sRngOptions_d |
Structure to specify option to generate random number. | |
typedef enum eHashAlg_d | eHashAlg_d |
Enumeration to specify Hashing algorithm. | |
typedef enum eHashSequence_d | eHashSequence_d |
Enumeration to specify Hashing Sequence. | |
typedef enum eDataType_d | eDataType_d |
Enumeration to specify Hashing data type. | |
typedef struct sOIDInfo_d | sOIDInfo_d |
Structure to specify OID information. | |
typedef enum eContextAction_d | eContextAction_d |
Enumeration to specify the action to be performed with the context. | |
typedef struct sContextInfo_d | sContextInfo_d |
Structure to specify the information for context information. | |
typedef struct sCalcHash_d | sCalcHash_d |
Structure to specify parameters for Hash generation. | |
typedef struct sHashinfo | sHashinfo_d |
Structure to specify hash information. | |
typedef enum eSignScheme_d | eSignScheme_d |
Enumeration for supported Signing scheme. | |
typedef enum eAlgId_d | eAlgId_d |
Enumeration for supported algorithm identifier. | |
typedef struct sPubKeyInput_d | sPubKeyInput_d |
Structure to specify public key for verify hash. | |
typedef struct sVerifyOption_d | sVerifyOption_d |
Structure to specify parameters for Signature verification. | |
typedef struct sOutKeyPair_d | sOutKeyPair_d |
Structure to return key pair as output. | |
typedef enum eKeyExport_d | eKeyExport_d |
Enumeration to specify the action on key pair. | |
typedef enum eKeyUsage_d | eKeyUsage_d |
Enumeration to specify supported key usage. | |
typedef struct sKeyPairOption_d | sKeyPairOption_d |
Structure to specify parameters for Key Pair Generation. | |
typedef struct sCalcSignOptions_d | sCalcSignOptions_d |
Structure to specify parameters for signature generation. | |
typedef enum eKeyAgreementType_d | eKeyAgreementType_d |
Enumeration to specify supported key agreement primitives. | |
typedef struct sCalcSSecOptions_d | sCalcSSecOptions_d |
Structure to specify parameters for shared secret calculation. | |
typedef enum eKeyDerivationMethod_d | eKeyDerivationMethod_d |
Enumeration to specify supported key derivation method. | |
typedef struct sDeriveKeyOptions_d | sDeriveKeyOptions_d |
Structure to specify parameters for derive key generation. | |
typedef enum eMsgType_d | eMsgType_d |
Enumeration to specify the type of message. | |
typedef union uMsgParams_d | uMsgParams_d |
Union to specify message specific parameters. | |
typedef int32_t(* | fAcceptMessage )(Void *, const sbBlob_d *) |
Callback to Caller to accept the message. | |
typedef struct sCallBack_d | sCallBack_d |
Structure to specify Call back parameters for Get Message. | |
typedef struct sProcMsgData_d | sProcMsgData_d |
Structure to specify parameters for (D)TLS handshake messages. | |
typedef struct sProcCryptoData_d | sProcCryptoData_d |
Structure to specify ProcUpLink/ProcDownLink command parameters. | |
Enumerations | |
enum | eOpenType_d { eInit = 0x00 } |
Enumerations to open the application on security chip. More... | |
enum | eDataOrMedata_d { eDATA, eMETA_DATA } |
Enumeration to specify data or metadata. More... | |
enum | eWriteOption_d { eWRITE, eERASE_AND_WRITE } |
Enumeration to specify write option. More... | |
enum | eAuthScheme_d { eECDSA = 0x91, eDTLSClient = 0x99 } |
Enumeration to specify an authentication scheme. More... | |
enum | eRngType_d { eTRNG = 0x00, eDRNG = 0x01 } |
Enumeration to specify the type of the random number. More... | |
enum | eHashAlg_d { eSHA256 = 0xE2 } |
Enumeration to specify Hashing algorithm. More... | |
enum | eHashSequence_d { eStartHash = 0x00, eStartFinalizeHash = 0x01, eContinueHash = 0x02, eFinalizeHash = 0x03, eTerminateHash = 0x04, eIntermediateHash = 0x05 } |
Enumeration to specify Hashing Sequence. More... | |
enum | eDataType_d { eDataStream = 0x00, eOIDData = 0x01 } |
Enumeration to specify Hashing data type. More... | |
enum | eContextAction_d { eUnused = 0x00, eImport = 0x06, eExport = 0x07, eImportExport = 0x67 } |
Enumeration to specify the action to be performed with the context. More... | |
enum | eSignScheme_d { eECDSA_FIPS_186_3_WITHOUT_HASH = 0x11 } |
Enumeration for supported Signing scheme. More... | |
enum | eAlgId_d { eECC_NIST_P256 = 0x03, eECC_NIST_P384 = 0x04 } |
Enumeration for supported algorithm identifier. More... | |
enum | eKeyExport_d { eStorePrivKeyOnly = 0x01, eExportKeyPair = 0x07 } |
Enumeration to specify the action on key pair. More... | |
enum | eKeyUsage_d { eAuthentication = 0x01, eEncryption = 0x02, eHostFwUpdate = 0x04, eDevMgmt = 0x08, eSign = 0x10, eKeyAgreement = 0x20 } |
Enumeration to specify supported key usage. More... | |
enum | eKeyAgreementType_d { eECDH_NISTSP80056A = 0x01 } |
Enumeration to specify supported key agreement primitives. More... | |
enum | eKeyDerivationMethod_d { eTLS_PRF_SHA256 = 0x01 } |
Enumeration to specify supported key derivation method. More... | |
enum | eMsgType_d { eClientHello = 0x01, eClientHelloWithCookie = 0x03, eClientCertificate = 0x0B, eClientKeyExchange = 0x10, eCertificateVerify = 0x0F, eClientFinished = 0x14, eHelloVerifyRequest = 0x03, eServerHello = 0x02, eServerCertificate = 0x0B, eServerKeyExchange = 0x0C, eCertificateRequest = 0x0D, eServerHelloDone = 0x0E, eServerFinished = 0x14, eChangeCipherSpec = 0x13, eCloseSession = 0x71 } |
Enumeration to specify the type of message. More... | |
Functions | |
LIBRARY_EXPORTS int32_t | CmdLib_OpenApplication (const sOpenApp_d *PpsOpenApp) |
Opens the Security Chip Application. | |
LIBRARY_EXPORTS int32_t | CmdLib_GetSignature (const sAuthMsg_d *PpsAuthMsg, sCmdResponse_d *PpsResponse) |
Gets the signature generated by Security Chip. | |
LIBRARY_EXPORTS int32_t | CmdLib_GetRandom (const sRngOptions_d *PpsRng, sCmdResponse_d *PpsResponse) |
Gets the true random bytes generated by Security Chip. | |
LIBRARY_EXPORTS int32_t | CmdLib_SetAuthScheme (const sAuthScheme_d *PpsAuthVector) |
Sets the Authentication Scheme by issuing SetAuthScheme command to Security Chip. | |
Infineon OPTIGA(TM) Trust X command library APIS.
enum eAlgId_d |
enum eAuthScheme_d |
enum eContextAction_d |
Enumeration to specify the action to be performed with the context.
enum eDataOrMedata_d |
enum eDataType_d |
enum eHashAlg_d |
enum eHashSequence_d |
enum eKeyAgreementType_d |
enum eKeyExport_d |
enum eKeyUsage_d |
Enumeration to specify supported key usage.
enum eMsgType_d |
Enumeration to specify the type of message.
enum eOpenType_d |
enum eRngType_d |
enum eSignScheme_d |
enum eWriteOption_d |