61 #define MEM_BLOCK_SIZE ATCA_BLOCK_SIZE
62 #define TLS_RANDOM_SIZE MEM_BLOCK_SIZE
64 #define PUB_KEY_SIZE ATCA_PUB_KEY_SIZE
65 #define PRIV_KEY_SIZE ATCA_PRIV_KEY_SIZE
66 #define SIGNATURE_SIZE ATCA_SIG_SIZE
ATCA_STATUS( atcatlsfn_get_enckey)(uint8_t *enckey, int16_t keysize)
Definition: atcatls.h:108
Single aggregation point for all CryptoAuthLib header files.
ATCA_STATUS atcatls_verify(const uint8_t *message, const uint8_t *signature, const uint8_t *pubkey, bool *verified)
Verify the signature of the specified message using the specified public key.
Definition: atcatls.c:327
ATCA_STATUS atcatls_get_enckey(uint8_t *enckeyout)
Return the random number for storage on platform. This function reads from platform storage...
Definition: atcatls.c:622
ATCA_STATUS atcatls_get_sn(uint8_t sn_out[ATCA_SERIAL_NUM_SIZE])
Get the serial number of this device.
Definition: atcatls.c:945
#define ATCA_SERIAL_NUM_SIZE
number of bytes in the device serial number
Definition: atca_command.h:231
ATCA_STATUS atcatls_init_enckey(uint8_t *enckeyout, uint8_t enckeyId, bool lock)
Initialize the unique encryption key for this platform. Write a random number to the parent encryptio...
Definition: atcatls.c:557
ATCA_STATUS atcatls_get_ca_cert(uint8_t *certout, size_t *certsize)
Get the certificate.
Definition: atcatls.c:855
ATCA_STATUS
Definition: atca_status.h:55
ATCA_STATUS atcatls_set_enckey(uint8_t *enckeyin, uint8_t enckeyId, bool lock)
Initialize the unique encryption key for this platform Write the provided encryption key to the paren...
Definition: atcatls.c:585
Definition: atca_iface.h:74
ATCA_STATUS atcatls_finish(void)
Finalize the ECC508 when finished. Like a destructor.
Definition: atcatls.c:292
ATCA_STATUS atcatls_enc_rsakey_read(uint8_t enckeyId, uint8_t *rsakey, int16_t *keysize)
Definition: atcatls.c:706
ATCA_STATUS atcatls_enc_write(uint8_t slotid, uint8_t block, uint8_t enckeyId, uint8_t *data, int16_t bufsize)
Write encrypted bytes to the specified slot.
Definition: atcatls.c:682
ATCA_STATUS atcatls_write_pubkey(uint8_t slotid, uint8_t pubkey[PUB_KEY_SIZE], bool lock)
Definition: atcatls.c:883
ATCA_STATUS atcatls_ecdhe(uint8_t slotid, const uint8_t *pubkey, uint8_t *pubkeyret, uint8_t *pmk)
Generate a pre-master key (pmk) given a private key slot and a public key that will be shared with...
Definition: atcatls.c:409
ATCA_STATUS atcatls_get_device_cert(uint8_t *certout, size_t *certsize)
Get the certificate.
Definition: atcatls.c:824
ATCA_STATUS atcatlsfn_set_get_enckey(atcatlsfn_get_enckey *fn_get_enckey)
Set the function used to retrieve the unique encryption key for this platform.
Definition: atcatls.c:532
ATCA_STATUS atcatls_enc_read(uint8_t slotid, uint8_t block, uint8_t enckeyId, uint8_t *data, int16_t *bufsize)
Read encrypted bytes from the specified slot.
Definition: atcatls.c:655
ATCA_STATUS atcatls_get_cert(const atcacert_def_t *cert_def, const uint8_t *ca_public_key, uint8_t *certout, size_t *certsize)
Get the certificate of der format.
Definition: atcatls.c:917
ATCA_STATUS atcatls_create_key(uint8_t slotid, uint8_t *pubkey)
Create a unique public-private key pair in the specified slot.
Definition: atcatls.c:438
ATCA_STATUS atcatls_sign(uint8_t slotid, const uint8_t *message, uint8_t *signature)
Sign the message with the specified slot and return the signature.
Definition: atcatls.c:304
ATCA_STATUS atcatls_calc_pubkey(uint8_t slotid, uint8_t *pubkey)
Get the public key from the specified private key slot.
Definition: atcatls.c:461
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
ATCA_STATUS atcatls_enc_rsakey_write(uint8_t enckeyId, uint8_t *rsakey, int16_t keysize)
Definition: atcatls.c:748
ATCA_STATUS atcatls_random(uint8_t *randout)
Get a random number.
Definition: atcatls.c:509
ATCA_STATUS atcatls_get_signer_cert(uint8_t *certout, size_t *certsize)
Get the certificate.
Definition: atcatls.c:793
#define PUB_KEY_SIZE
Definition: atcatls.h:64
ATCA_STATUS atcatls_config_default(void)
Configure the ECC508 for use with TLS API funcitons. The configuration zone is written and locked...
Definition: atcatls.c:230
ATCA_STATUS atcatls_init(ATCAIfaceCfg *pCfg)
Initialize the ECC508 for use with the TLS API. Like a constructor.
Definition: atcatls.c:280
ATCA_STATUS atcatls_read_pubkey(uint8_t slotid, uint8_t *pubkey)
reads a pub key from a readable data slot versus atcab_get_pubkey which generates a pubkey from a pri...
Definition: atcatls.c:486
ATCA_STATUS atcatls_verify_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t *ca_public_key)
Verify a certificate against its certificate authority's public key.
Definition: atcatls.c:350
ATCA_STATUS atcatls_read_ca_pubkey(uint8_t caPubkey[PUB_KEY_SIZE])
Definition: atcatls.c:899
ATCA_STATUS atcatls_ecdh(uint8_t slotid, const uint8_t *pubkey, uint8_t *pmk)
Generate a pre-master key (pmk) given a private key slot and a public key that will be shared with...
Definition: atcatls.c:374
ATCA_STATUS atcatls_ecdh_enc(uint8_t slotid, uint8_t enckeyId, const uint8_t *pubkey, uint8_t *pmk)
Generate a pre-master key (pmk) given a private key slot and a public key that will be shared with...
Definition: atcatls.c:382
Definition: atcacert_def.h:154