CryptoAuthLib v3.7.6
Microchip CryptoAuthentication Library
 
Loading...
Searching...
No Matches
atcacert_client.h File Reference

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device. More...

#include <stddef.h>
#include <stdint.h>
#include "atcacert_def.h"

Functions

ATCA_STATUS atcacert_read_device_loc (const atcacert_device_loc_t *device_loc, uint8_t *data)
 Read the data from a device location.
 
ATCA_STATUS atcacert_read_device_loc_ext (ATCADevice device, const atcacert_device_loc_t *device_loc, uint8_t *data)
 Read the data from a device location.
 
ATCA_STATUS atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device.
 
ATCA_STATUS atcacert_read_cert_ext (ATCADevice device, const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device.
 
ATCA_STATUS atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition.
 
ATCA_STATUS atcacert_write_cert_ext (ATCADevice device, const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition.
 
ATCA_STATUS atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format.
 
ATCA_STATUS atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format.
 
ATCA_STATUS atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host.
 
ATCA_STATUS atcacert_read_subj_key_id (const atcacert_def_t *cert_def, uint8_t subj_key_id[20])
 Reads the subject key ID based on a certificate definition.
 
ATCA_STATUS atcacert_read_subj_key_id_ext (ATCADevice device, const atcacert_def_t *cert_def, uint8_t subj_key_id[20])
 Reads the subject key ID based on a certificate definition.
 
ATCA_STATUS atcacert_read_cert_size (const atcacert_def_t *cert_def, size_t *cert_size)
 Return the actual certificate size in bytes for a given cert def. Certificate can be variable size, so this gives the absolute buffer size when reading the certificates.
 
ATCA_STATUS atcacert_read_cert_size_ext (ATCADevice device, const atcacert_def_t *cert_def, size_t *cert_size)
 Return the actual certificate size in bytes for a given cert def. Certificate can be variable size, so this gives the absolute buffer size when reading the certificates.
 

Detailed Description

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.