CryptoAuthLib
Atmel CryptoAuthentication Library
atcatls_cfg.h
Go to the documentation of this file.
1 
43 #ifndef ATCATLS_CFG_H
44 #define ATCATLS_CFG_H
45 
46 #include "cryptoauthlib.h"
50 // Slot definitions for ECC508 used by the default TLS configuration.
51 #define TLS_SLOT_AUTH_PRIV ((uint8_t)0x0)
52 #define TLS_SLOT_AUTH_PMK ((uint8_t)0x1)
53 #define TLS_SLOT_ECDH_PRIV ((uint8_t)0x2)
54 #define TLS_SLOT_ECDHE_PRIV ((uint8_t)0x2)
55 #define TLS_SLOT_ECDH_PMK ((uint8_t)0x3)
56 #define TLS_SLOT_ENC_PARENT ((uint8_t)0x4)
57 #define TLS_SLOT_SHAKEY ((uint8_t)0x5)
58 #define TLS_SLOT_HOST_SHAKEY ((uint8_t)0x6)
59 #define TLS_SLOT_FEATURE_PRIV ((uint8_t)0x7)
60 #define TLS_SLOT8_ENC_STORE ((uint8_t)0x8)
61 #define TLS_SLOT9_ENC_STORE ((uint8_t)0x9)
62 #define TLS_SLOT_AUTH_CERT ((uint8_t)0xA)
63 #define TLS_SLOT_SIGNER_PUBKEY ((uint8_t)0xB)
64 #define TLS_SLOT_SIGNER_CERT ((uint8_t)0xC)
65 #define TLS_SLOT_FEATURE_CERT ((uint8_t)0xD)
66 #define TLS_SLOT_PKICA_PUBKEY ((uint8_t)0xE)
67 #define TLS_SLOT_MFRCA_PUBKEY ((uint8_t)0xF)
68 
69 typedef struct {
70  uint8_t authPrivSlot;
71  uint8_t authPmkSlot;
72  uint8_t ecdhPrivSlot;
73  uint8_t ecdhePrivSlot;
74  uint8_t ecdhPmkSlot;
75  uint8_t encParentSlot;
76  uint8_t shaKeySlot;
77  uint8_t hostShaKeySlot;
78  uint8_t featurePrivSlot;
79  uint8_t encStoreSlot8;
80  uint8_t encStoreSlot9;
81  uint8_t authCertSlot;
82  uint8_t signerPubkeySlot;
83  uint8_t signerCertSlot;
84  uint8_t featureCertSlot;
85  uint8_t pkiCaPubkeySlot;
86  uint8_t mfrCaPubkeySlot;
87 } TlsSlotDef;
88 
91 #endif // ATCATLS_CFG_H
uint8_t authPmkSlot
Premaster key for ECDH cipher suites.
Definition: atcatls_cfg.h:71
Single aggregation point for all CryptoAuthLib header files.
uint8_t featurePrivSlot
Feature private key. Used for feature use cases.
Definition: atcatls_cfg.h:78
uint8_t pkiCaPubkeySlot
Public key for the PKI certificate authority.
Definition: atcatls_cfg.h:85
uint8_t signerPubkeySlot
Public key of the signer of authCertSlot.
Definition: atcatls_cfg.h:82
uint8_t hostShaKeySlot
Host SHA key slot. Used for host SHA use cases.
Definition: atcatls_cfg.h:77
uint8_t authCertSlot
Compressed certificate information for the authPrivSlot.
Definition: atcatls_cfg.h:81
uint8_t ecdhePrivSlot
ECDHE private key.
Definition: atcatls_cfg.h:73
uint8_t authPrivSlot
Primary authentication private key.
Definition: atcatls_cfg.h:70
uint8_t encStoreSlot8
Encrypted storage for 416 bytes.
Definition: atcatls_cfg.h:79
uint8_t encStoreSlot9
Encrypted storage for 72 bytes.
Definition: atcatls_cfg.h:80
uint8_t mfrCaPubkeySlot
Public key for the MFR certificate authority.
Definition: atcatls_cfg.h:86
uint8_t ecdhPrivSlot
ECDH private key.
Definition: atcatls_cfg.h:72
Definition: atcatls_cfg.h:69
uint8_t signerCertSlot
Compressed certificate information for the signerPubkey.
Definition: atcatls_cfg.h:83
uint8_t ecdhPmkSlot
ECDH/ECDHE pmk slot. This slot is encrypted with encParentSlot.
Definition: atcatls_cfg.h:74
uint8_t featureCertSlot
Compressed certificate information for the featurePrivSlot.
Definition: atcatls_cfg.h:84
uint8_t encParentSlot
The parent encryption key. This is a random key set on a per-platform basis.
Definition: atcatls_cfg.h:75
uint8_t shaKeySlot
SHA key slot. Used for SHA use cases.
Definition: atcatls_cfg.h:76