259 #ifndef HSMBAREMETAL_H 260 #define HSMBAREMETAL_H 276 #define HSMBAREMETAL_STATUS_SUCCESS ((int_fast16_t)0) 284 #define HSMBAREMETAL_STATUS_ERROR ((int_fast16_t)-1) 290 #define HSMBAREMETAL_STATUS_HSM_NOT_INITIALIZED ((int_fast16_t)-2) 297 #define HSMBAREMETAL_STATUS_HW_ERROR ((int_fast16_t)-3) 302 #define HSMBAREMETAL_STATUS_HSM_ALREADY_INITIALIZED ((int_fast16_t)-4) 312 #define HSMBAREMETAL_STATUS_INVALID_MAC ((int_fast16_t)-5) 317 #define HSMBAREMETAL_STATUS_INVALID_INPUT_PARAMETERS ((int_fast16_t)-6) 322 #define HSMBAREMETAL_STATUS_NRBG_ALREADY_IN_MODE ((int_fast16_t)-7) 327 #define HSMBAREMETAL_STATUS_INVALID_PRIVATE_KEY_SIZE ((int_fast16_t)-8) 332 #define HSMBAREMETAL_STATUS_INVALID_PUBLIC_KEY_SIZE ((int_fast16_t)-9) 337 #define HSMBAREMETAL_STATUS_INVALID_PUBLIC_KEY_OCTET_VALUE ((int_fast16_t)-10) 342 #define HSMBAREMETAL_STATUS_INVALID_SHARED_SECRET_KEY_SIZE ((int_fast16_t)-11) 347 #define HSMBAREMETAL_STATUS_HUK_ALREADY_PROVISIONED ((int_fast16_t)-12) 352 #define HSMBAREMETAL_STATUS_FEATURE_NOT_SUPPORTED ((int_fast16_t)-13) 357 #define HSMBAREMETAL_STATUS_INVALID_INPUT_DATA_LENGTH ((int_fast16_t)-14) 362 #define HSMBAREMETAL_STATUS_INVALID_MAC_LENGTH ((int_fast16_t)-15) 367 #define HSMBareMetal_WAIT_FOREVER ~(0) 372 #define HSMBAREMETAL_HUK_ASSET_NUMBER 0x61 377 #define HSMBAREMETAL_AES_BLOCK_SIZE 16 384 #define HSM_KEYBLOB_SIZE(keyLength) (HSMBAREMETAL_AES_BLOCK_SIZE + keyLength) 393 ENTROPY_TYPE_DRBG = 0x0000,
394 ENTROPY_TYPE_CRNG = 0x7264,
395 ENTROPY_TYPE_TRNG = 0x5244,
416 HSMBareMetal_OPERATION_ALGO_AES = 1,
417 HSMBareMetal_OPERATION_ALGO_MAC = 2,
418 HSMBareMetal_OPERATION_ALGO_HASH = 3,
419 HSMBareMetal_OPERATION_ALGO_ECC = 4,
429 HSMBareMetal_OPERATION_DIR_ENC_GEN = 1,
430 HSMBareMetal_OPERATION_DIR_DEC_VRFY = 2,
438 HSMBareMetal_AES_MODE_ECB = 0,
439 HSMBareMetal_AES_MODE_CBC = 1,
440 HSMBareMetal_AES_MODE_CTR = 2,
441 HSMBareMetal_AES_MODE_CCM = 5,
442 HSMBareMetal_AES_MODE_GCM = 7,
450 HSMBareMetal_MAC_MODE_HMAC_224 = 2,
451 HSMBareMetal_MAC_MODE_HMAC_256 = 3,
452 HSMBareMetal_MAC_MODE_HMAC_384 = 4,
453 HSMBareMetal_MAC_MODE_HMAC_512 = 5,
454 HSMBareMetal_MAC_MODE_CMAC = 8,
455 HSMBareMetal_MAC_MODE_CBC_MAC = 9,
463 HSMBareMetal_HASH_MODE_SHA2_224 = 2,
464 HSMBareMetal_HASH_MODE_SHA2_256 = 3,
465 HSMBareMetal_HASH_MODE_SHA2_384 = 4,
466 HSMBareMetal_HASH_MODE_SHA2_512 = 5,
474 HSMBareMetal_HASH_TYPE_INIT_TO_FINAL = 0,
475 HSMBareMetal_HASH_TYPE_CONT_TO_FINAL = 1,
476 HSMBareMetal_HASH_TYPE_INIT_TO_CONT = 2,
477 HSMBareMetal_HASH_TYPE_CONT_TO_CONT = 3,
485 HSMBareMetal_PK_CURVE_TYPE_SEC_P_224_R1 = 1,
486 HSMBareMetal_PK_CURVE_TYPE_SEC_P_256_R1 = 2,
487 HSMBareMetal_PK_CURVE_TYPE_SEC_P_384_R1 = 3,
488 HSMBareMetal_PK_CURVE_TYPE_SEC_P_521_R1 = 4,
489 HSMBareMetal_PK_CURVE_TYPE_BRP_P_256_R1 = 5,
490 HSMBareMetal_PK_CURVE_TYPE_BRP_P_384_R1 = 6,
491 HSMBareMetal_PK_CURVE_TYPE_BRP_P_512_R1 = 7,
492 HSMBareMetal_PK_CURVE_TYPE_25519 = 8,
501 HSMBareMetal_PK_CURVE_LENGTH_224 = 224,
502 HSMBareMetal_PK_CURVE_LENGTH_255 = 255,
503 HSMBareMetal_PK_CURVE_LENGTH_256 = 256,
504 HSMBareMetal_PK_CURVE_LENGTH_384 = 384,
505 HSMBareMetal_PK_CURVE_LENGTH_512 = 512,
506 HSMBareMetal_PK_CURVE_LENGTH_521 = 521,
514 HSMBareMetal_PK_DIGEST_LENGTH_224 = 224,
515 HSMBareMetal_PK_DIGEST_LENGTH_256 = 256,
516 HSMBareMetal_PK_DIGEST_LENGTH_384 = 384,
517 HSMBareMetal_PK_DIGEST_LENGTH_512 = 512,
525 HSMBareMetal_PK_MODE_ECDH_GEN_PUB_KEY = 1,
526 HSMBareMetal_PK_MODE_ECDH_GEN_SHRD_SCRT = 2,
527 HSMBareMetal_PK_MODE_ECDSA_SIGN = 3,
528 HSMBareMetal_PK_MODE_ECDSA_VERIFY = 4,
536 HSMBareMetal_KEY_INPUT_PLAINTEXT = 0,
537 HSMBareMetal_KEY_INPUT_ASSETSTORE = 1,
545 HSMBareMetal_ASSET_OPERATION_TYPE_LOAD_PLAINTEXT = 0,
546 HSMBareMetal_ASSET_OPERATION_TYPE_LOAD_IMPORT_KEY_BLOB = 1,
547 HSMBareMetal_ASSET_OPERATION_TYPE_LOAD_EXPORT_KEY_BLOB = 2,
659 uint32_t *encGenKeyAssetID;
660 uint32_t *decVrfyKeyAssetID;
670 uint8_t *encGenKeyBlob;
671 uint8_t *decVrfyKeyBlob;
679 uint32_t *privateKeyAssetID;
680 uint32_t *publicKeyAssetID;
714 size_t totalInputLength;
732 uint8_t *keyMaterial;
Struct containing the Plaintext-based crypto key data.
Definition: HSMBareMetal.h:730