14 #define IOVEC_LEN(x) (sizeof(x)/sizeof(x[0]))
18 size_t challenge_size,
20 size_t token_buf_size,
27 {auth_challenge, challenge_size}
30 {token_buf, token_buf_size}
45 *token_size = out_vec[0].
len;
58 {&challenge_size,
sizeof(challenge_size)}
61 {token_size,
sizeof(size_t)}
80 size_t public_key_buf_size,
81 size_t *public_key_len,
88 {.
base = public_key, .len = public_key_buf_size},
89 {.base = elliptic_curve_type, .len =
sizeof(*elliptic_curve_type)},
90 {.base = public_key_len, .len =
sizeof(*public_key_len)}
#define TFM_ATTEST_GET_PUBLIC_KEY_VERSION
psa_status_t tfm_initial_attest_get_public_key(uint8_t *public_key, size_t public_key_buf_size, size_t *public_key_len, psa_ecc_family_t *elliptic_curve_type)
Get the initial attestation public key.
#define TFM_ATTEST_GET_TOKEN_VERSION
PSA cryptography module: type aliases.
void psa_close(psa_handle_t handle)
Close a connection to an RoT Service.
#define TFM_ATTEST_GET_TOKEN_SIZE_SID
psa_status_t psa_initial_attest_get_token(const uint8_t *auth_challenge, size_t challenge_size, uint8_t *token_buf, size_t token_buf_size, size_t *token_size)
Get initial attestation token.
psa_handle_t psa_connect(uint32_t sid, uint32_t version)
Connect to an RoT Service by its SID.
#define PSA_HANDLE_IS_VALID(handle)
#define PSA_HANDLE_TO_ERROR(handle)
#define TFM_ATTEST_GET_TOKEN_SIZE_VERSION
#define TFM_ATTEST_GET_PUBLIC_KEY_SID
#define TFM_ATTEST_GET_TOKEN_SID
int32_t psa_status_t
Function return status.
psa_status_t psa_call(psa_handle_t handle, int32_t type, const psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len)
Call an RoT Service on an established connection.
psa_status_t psa_initial_attest_get_token_size(size_t challenge_size, size_t *token_size)
Get the exact size of initial attestation token in bytes.