CryptoAuthLib v3.7.8
Microchip CryptoAuthentication Library
 
Loading...
Searching...
No Matches
wpc_apis.h File Reference

Provides api interfaces for WPC authentication. More...

#include "wpc_check_config.h"

Macros

#define WPC_PROTOCOL_VERSION   0x01
 
#define WPC_PROTOCOL_MAX_VERSION   0x01
 
#define WPC_TBS_AUTH_PREFIX   0x41
 
#define WPC_CONST_N_RH   ATCA_SHA256_DIGEST_SIZE
 
#define WPC_CONST_OS_MC   (2 + WPC_CONST_N_RH)
 
#define WPC_HEADER(x)   ((WPC_PROTOCOL_VERSION << 4) | x)
 
#define WPC_GET_DIGESTS_TYPE   0x09
 
#define WPC_GET_DIGESTS_HEADER   WPC_HEADER(WPC_GET_DIGESTS_TYPE)
 
#define WPC_GET_DIGESTS_LENGTH   (2)
 
#define WPC_GET_CERTIFICATE_TYPE   0x0A
 
#define WPC_GET_CERTIFICATE_HEADER   WPC_HEADER(WPC_GET_CERTIFICATE_TYPE)
 
#define WPC_GET_CERTIFICATE_LENGTH   (4)
 
#define WPC_CHALLENGE_TYPE   0x0B
 
#define WPC_CHALLENGE_HEADER   WPC_HEADER(WPC_CHALLENGE_TYPE)
 
#define WPC_CHALLENGE_NONCE_LENGTH   (16)
 
#define WPC_CHALLENGE_LENGTH   (2 + WPC_CHALLENGE_NONCE_LENGTH)
 
#define WPC_DIGESTS_TYPE   0x01
 
#define WPC_DIGESTS_HEADER   WPC_HEADER(WPC_DIGESTS_TYPE)
 
#define WPC_DIGESTS_LENGTH(x)   (2 + (ATCA_SHA256_DIGEST_SIZE * x))
 
#define WPC_CERTIFICATE_TYPE   0x02
 
#define WPC_CERTIFICATE_HEADER   WPC_HEADER(WPC_CERTIFICATE_TYPE)
 
#define WPC_CERTIFICATE_LENGTH(x)   (1 + x)
 
#define WPC_CHALLENGE_AUTH_TYPE   0x03
 
#define WPC_CHALLENGE_AUTH_HEADER   WPC_HEADER(WPC_CHALLENGE_AUTH_TYPE)
 
#define WPC_CHALLENGE_AUTH_LENGTH   (67)
 
#define WPC_ERROR_TYPE   0x07
 
#define WPC_ERROR_HEADER   WPC_HEADER(WPC_ERROR_TYPE)
 
#define WPC_ERROR_LENGTH   (3)
 
#define WPC_ERROR_INVALID_REQUEST   (0x01)
 
#define WPC_ERROR_UNSUPPORTED_PROTOCOL   (0x02)
 
#define WPC_ERROR_BUSY   (0x03)
 
#define WPC_ERROR_UNSPECIFIED   (0x04)
 

Variables

const uint8_t g_root_ca_digest []
 

Detailed Description

Provides api interfaces for WPC authentication.