Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
fido2_attestation.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Siratul Islam <email@sirat.me>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
11
12#ifndef ZEPHYR_INCLUDE_AUTHENTICATION_FIDO2_FIDO2_ATTESTATION_H_
13#define ZEPHYR_INCLUDE_AUTHENTICATION_FIDO2_FIDO2_ATTESTATION_H_
14
15#include <stddef.h>
16#include <stdint.h>
17
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
29#define FIDO2_ATTESTATION_FMT_PACKED "packed"
31#define FIDO2_ATTESTATION_FMT_NONE "none"
33#define FIDO2_ATTESTATION_FMT_MAX_LEN 32
34
40 const char *fmt;
44 const uint8_t *sig;
46 size_t sig_len;
48 const uint8_t *x5c;
50 size_t x5c_len;
51};
52
63int fido2_attestation_sign(const uint8_t *auth_data, size_t auth_data_len,
64 const uint8_t *client_data_hash, uint32_t credential_key_id,
65 struct fido2_attestation_result *result);
66
67#ifdef __cplusplus
68}
69#endif
70
72
73#endif /* ZEPHYR_INCLUDE_AUTHENTICATION_FIDO2_FIDO2_ATTESTATION_H_ */
int fido2_attestation_sign(const uint8_t *auth_data, size_t auth_data_len, const uint8_t *client_data_hash, uint32_t credential_key_id, struct fido2_attestation_result *result)
Sign authenticatorData for a new credential.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Attestation result produced by an attestation callback.
Definition fido2_attestation.h:38
int32_t alg
COSE algorithm identifier (e.g., -7 for ES256).
Definition fido2_attestation.h:42
size_t sig_len
Length of sig in bytes.
Definition fido2_attestation.h:46
const char * fmt
Attestation statement format identifier (e.g., "packed", "none").
Definition fido2_attestation.h:40
const uint8_t * sig
Attestation signature.
Definition fido2_attestation.h:44
size_t x5c_len
Length of x5c in bytes.
Definition fido2_attestation.h:50
const uint8_t * x5c
DER-encoded attestation certificate for the x5c array.
Definition fido2_attestation.h:48