10 #ifndef TAF_KS_COMMON_H_INCLUDE_GUARD 11 #define TAF_KS_COMMON_H_INCLUDE_GUARD 17 #include "le_limit_common.h" 19 #define IFGEN_TAF_KS_PROTOCOL_ID "a96b6ca7b1cbd694b769cfa50a9357e2" 20 #define IFGEN_TAF_KS_MSG_SIZE 4120 29 #define TAF_KS_MAX_KEY_ID_SIZE 256 36 #define TAF_KS_MAX_SEC_LABEL_SIZE 256 43 #define TAF_KS_MAX_PACKET_SIZE 4096 53 #define TAF_KS_MAX_AES_NONCE_SIZE 16 60 #define TAF_KS_MIN_HMAC_KEY_SIZE 8 66 #define TAF_KS_MAX_HMAC_KEY_SIZE 128 513 const uint8_t* dataPtr,
604 const uint8_t* impDataPtr,
635 const uint8_t* impDataPtr,
666 const uint8_t* impDataPtr,
697 const uint8_t* impDataPtr,
728 const uint8_t* impDataPtr,
754 const uint8_t* appDataPtr,
760 size_t* expDataSizePtr
802 const uint8_t* dataPtr,
828 const uint8_t* dataPtr,
878 const uint8_t* dataPtr,
904 const uint8_t* inputDataPtr,
910 size_t inputDataSize,
912 uint8_t* outputDataPtr,
918 size_t* outputDataSizePtr
941 const uint8_t* inputDataPtr,
944 size_t inputDataSize,
946 uint8_t* outputDataPtr,
952 size_t* outputDataSizePtr
976 #endif // TAF_KS_COMMON_H_INCLUDE_GUARD HMAC for verification only.
Definition: taf_ks_common.h:164
NIST/SECG curve over a 521 bit prime field.
Definition: taf_ks_common.h:121
MD5.
Definition: taf_ks_common.h:200
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionCreate(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_CryptoSessionRef_t *sessionRefPtr)
AES key size is 192 bit.
Definition: taf_ks_common.h:98
PKCS1 V1.5 padding, digest is SHA2-384.
Definition: taf_ks_common.h:268
PKCS1 V1.5 padding, digest is SHA2-512.
Definition: taf_ks_common.h:270
taf_ks_RsaSigPadding_t
Definition: taf_ks_common.h:256
No padding.
Definition: taf_ks_common.h:258
Indicates the maximum value.
Definition: taf_ks_common.h:83
AES CTR mode.
Definition: taf_ks_common.h:305
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionStart(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, taf_ks_CryptoPurpose_t cryptoPurpose)
PSS with SHA2-384 padding, digest is SHA2-384.
Definition: taf_ks_common.h:280
LE_SHARED le_result_t ifgen_taf_ks_GetKey(le_msg_SessionRef_t _ifgen_sessionRef, const char *LE_NONNULL keyName, taf_ks_KeyRef_t *keyRefPtr)
LE_SHARED bool ifgen_taf_ks_HasLocalBinding(void)
struct taf_ks_Key * taf_ks_KeyRef_t
Definition: taf_ks_common.h:320
LE_SHARED le_result_t ifgen_taf_ks_SetKeyOriginationExpireDateTime(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint64_t value)
AES CBC mode with PKCS7 padding.
Definition: taf_ks_common.h:303
Indicates the maximum value.
Definition: taf_ks_common.h:102
LE_SHARED le_result_t ifgen_taf_ks_CreateKey(le_msg_SessionRef_t _ifgen_sessionRef, const char *LE_NONNULL keyName, taf_ks_KeyUsage_t keyUsage, taf_ks_KeyRef_t *keyRefPtr)
RSA key for verification only.
Definition: taf_ks_common.h:146
PSS with SHA2-512 padding, digest is SHA2-512.
Definition: taf_ks_common.h:282
Crypto operation for signing.
Definition: taf_ks_common.h:183
HMAC for signing and verification.
Definition: taf_ks_common.h:160
PSS with SHA1 padding, digest is SHA1.
Definition: taf_ks_common.h:274
taf_ks_EccKeySize_t
Definition: taf_ks_common.h:113
ECDSA key for signing only.
Definition: taf_ks_common.h:156
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionProcess(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, const uint8_t *inputDataPtr, size_t inputDataSize, uint8_t *outputDataPtr, size_t *outputDataSizePtr)
OAEP with SHA2-256 padding.
Definition: taf_ks_common.h:237
PSS with SHA2-224 padding, digest is SHA2-224.
Definition: taf_ks_common.h:276
SHA2-512.
Definition: taf_ks_common.h:210
SHA1.
Definition: taf_ks_common.h:202
AES key for decryption only.
Definition: taf_ks_common.h:152
LE_SHARED le_result_t ifgen_taf_ks_SetKeyAppData(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, const uint8_t *dataPtr, size_t dataSize)
Crypto operation for decryption.
Definition: taf_ks_common.h:181
LE_SHARED le_result_t ifgen_taf_ks_SetKeyMinSecondsBetweenOps(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint32_t value)
LE_SHARED le_result_t ifgen_taf_ks_ProvisionAesKeyValue(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_AesKeySize_t keySize, taf_ks_AesBlockMode_t mode, const uint8_t *impDataPtr, size_t impDataSize)
RSA key for signing and verification.
Definition: taf_ks_common.h:142
Indicates the maximum value.
Definition: taf_ks_common.h:187
LE_SHARED le_result_t ifgen_taf_ks_ExportKey(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, const uint8_t *appDataPtr, size_t appDataSize, uint8_t *expDataPtr, size_t *expDataSizePtr)
RSA key for decryption only.
Definition: taf_ks_common.h:140
RSA key size is 3072 bit.
Definition: taf_ks_common.h:79
taf_ks_RsaKeySize_t
Definition: taf_ks_common.h:73
NIST/SECG curve over a 256 bit prime field.
Definition: taf_ks_common.h:117
NIST/SECG curve over a 384 bit prime field.
Definition: taf_ks_common.h:119
PKCS1 V1.5 padding, digest is SHA1.
Definition: taf_ks_common.h:262
LE_SHARED le_result_t ifgen_taf_ks_ProvisionRsaEncKeyValue(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_RsaKeySize_t keySize, taf_ks_RsaEncPadding_t padding, const uint8_t *impDataPtr, size_t impDataSize)
OAEP with SHA2-224 padding.
Definition: taf_ks_common.h:235
RSA key for signing only.
Definition: taf_ks_common.h:144
OAEP with SHA1 padding.
Definition: taf_ks_common.h:233
AES key size is 256 bit.
Definition: taf_ks_common.h:100
PKCS1 V1.5 padding, digest is SHA2-224.
Definition: taf_ks_common.h:264
SHA2-384.
Definition: taf_ks_common.h:208
LE_SHARED le_result_t ifgen_taf_ks_SetKeyMaxUsesPerBoot(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint32_t value)
LE_SHARED le_result_t ifgen_taf_ks_GetKeyUsage(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_KeyUsage_t *keyUsagePtr)
AES key for encryption only.
Definition: taf_ks_common.h:150
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionProcessAead(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, const uint8_t *dataPtr, size_t dataSize)
LE_SHARED le_result_t ifgen_taf_ks_ProvisionEcdsaKeyValue(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_EccKeySize_t keySize, taf_ks_Digest_t digest, const uint8_t *impDataPtr, size_t impDataSize)
Indicates the maximum value.
Definition: taf_ks_common.h:123
LE_SHARED le_result_t ifgen_taf_ks_ProvisionHmacKeyValue(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint32_t keySize, taf_ks_Digest_t digest, const uint8_t *impDataPtr, size_t impDataSize)
Crypto operation for encryption.
Definition: taf_ks_common.h:179
SHA2-224.
Definition: taf_ks_common.h:204
LE_SHARED void ifgen_taf_ks_CleanupCommonData(le_msg_SessionRef_t _ifgen_sessionRef)
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionSetAesNonce(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, const uint8_t *dataPtr, size_t dataSize)
Indicates the maximum value.
Definition: taf_ks_common.h:309
OAEP with MD5 padding.
Definition: taf_ks_common.h:231
AES key for encryption and decryption.
Definition: taf_ks_common.h:148
AES ECB mode with PKCS7 padding.
Definition: taf_ks_common.h:299
AES GCM mode.
Definition: taf_ks_common.h:307
LE_SHARED le_result_t ifgen_taf_ks_SetKeyActiveDateTime(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint64_t value)
Indicates the maximum value.
Definition: taf_ks_common.h:212
Indicates the maximum value.
Definition: taf_ks_common.h:243
ECDSA key for verfication only.
Definition: taf_ks_common.h:158
taf_ks_AesKeySize_t
Definition: taf_ks_common.h:94
PSS with MD5 padding, digest is MD5.
Definition: taf_ks_common.h:272
AES CBC mode without padding.
Definition: taf_ks_common.h:301
LE_SHARED le_result_t ifgen_taf_ks_OpenSession(le_msg_SessionRef_t _ifgen_sessionRef, bool isBlocking)
PKCS1 V1.5 padding, digest is MD5.
Definition: taf_ks_common.h:260
OAEP with SHA2-512 padding.
Definition: taf_ks_common.h:241
ECDSA key for signing and verification.
Definition: taf_ks_common.h:154
No padding.
Definition: taf_ks_common.h:227
Crypto operation for verify.
Definition: taf_ks_common.h:185
RSA key size is 2048 bit.
Definition: taf_ks_common.h:77
PKCS1 V1.5 padding.
Definition: taf_ks_common.h:229
RSA key for encryption and decryption.
Definition: taf_ks_common.h:136
#define LE_NONNULL
Definition: le_basics.h:368
taf_ks_CryptoPurpose_t
Definition: taf_ks_common.h:177
taf_ks_Digest_t
Definition: taf_ks_common.h:198
le_result_t
Definition: le_basics.h:45
SHA2-256.
Definition: taf_ks_common.h:206
LE_SHARED le_result_t ifgen_taf_ks_ProvisionRsaSigKeyValue(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, taf_ks_RsaKeySize_t keySize, taf_ks_RsaSigPadding_t padding, const uint8_t *impDataPtr, size_t impDataSize)
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionEnd(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, const uint8_t *inputDataPtr, size_t inputDataSize, uint8_t *outputDataPtr, size_t *outputDataSizePtr)
taf_ks_KeyUsage_t
Definition: taf_ks_common.h:134
PKCS1 V1.5 padding, digest is SHA2-256.
Definition: taf_ks_common.h:266
Indicates the maximum value.
Definition: taf_ks_common.h:166
HMAC for signing only.
Definition: taf_ks_common.h:162
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:860
AES ECB mode without padding.
Definition: taf_ks_common.h:297
AES key size is 128 bit.
Definition: taf_ks_common.h:96
LE_SHARED le_result_t ifgen_taf_ks_DeleteKey(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef)
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionAbort(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef)
RSA key for encryption only.
Definition: taf_ks_common.h:138
Indicates the maximum value.
Definition: taf_ks_common.h:284
struct taf_ks_CryptoSession * taf_ks_CryptoSessionRef_t
Definition: taf_ks_common.h:328
RSA key size is 1024 bit.
Definition: taf_ks_common.h:75
NIST/SECG curve over a 224 bit prime field.
Definition: taf_ks_common.h:115
#define LE_SHARED
Definition: le_basics.h:297
LE_SHARED void ifgen_taf_ks_InitCommonData(void)
taf_ks_AesBlockMode_t
Definition: taf_ks_common.h:295
RSA key size is 4096 bit.
Definition: taf_ks_common.h:81
OAEP with SHA2-384 padding.
Definition: taf_ks_common.h:239
LE_SHARED le_result_t ifgen_taf_ks_SetKeyUsageExpireDateTime(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_KeyRef_t keyRef, uint64_t value)
LE_SHARED le_result_t ifgen_taf_ks_CryptoSessionSetAppData(le_msg_SessionRef_t _ifgen_sessionRef, taf_ks_CryptoSessionRef_t sessionRef, const uint8_t *dataPtr, size_t dataSize)
taf_ks_RsaEncPadding_t
Definition: taf_ks_common.h:225
PSS with SHA2-256 padding, digest is SHA2-256.
Definition: taf_ks_common.h:278