5 #ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_CERT_DICE_H_
6 #define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_CERT_DICE_H_
10 #include "sw/device/silicon_creator/lib/attestation.h"
11 #include "sw/device/silicon_creator/lib/cert/cert.h"
12 #include "sw/device/silicon_creator/lib/drivers/hmac.h"
13 #include "sw/device/silicon_creator/lib/drivers/keymgr.h"
14 #include "sw/device/silicon_creator/lib/error.h"
15 #include "sw/device/silicon_creator/lib/ownership/datatypes.h"
16 #include "sw/device/silicon_creator/lib/sigverify/ecdsa_p256_key.h"
17 #include "sw/device/silicon_creator/manuf/base/perso_tlv_data.h"
23 kDiceMeasurementSizeInBits = 256,
24 kDiceMeasurementSizeInBytes = kDiceMeasurementSizeInBits / 8,
27 extern const dice_cert_format_t kDiceCertFormat;
54 rom_error_t dice_uds_tbs_cert_build(
60 uint8_t *tbs_cert,
size_t *tbs_cert_size);
76 rom_error_t dice_cdi_0_cert_build(
hmac_digest_t *rom_ext_measurement,
77 uint32_t rom_ext_security_version,
80 uint8_t *cert,
size_t *cert_size);
98 rom_error_t dice_cdi_1_cert_build(
hmac_digest_t *owner_measurement,
100 uint32_t owner_security_version,
101 owner_app_domain_t key_domain,
104 uint8_t *cert,
size_t *cert_size);