Zephyr Project API 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
12
13#ifndef ZEPHYR_INCLUDE_AUTHENTICATION_FIDO2_FIDO2_ATTESTATION_H_
14#define ZEPHYR_INCLUDE_AUTHENTICATION_FIDO2_FIDO2_ATTESTATION_H_
15
16#include <stddef.h>
17#include <stdint.h>
18
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
30#define FIDO2_ATTESTATION_FMT_PACKED "packed"
32#define FIDO2_ATTESTATION_FMT_NONE "none"
34#define FIDO2_ATTESTATION_FMT_MAX_LEN 32
35
41 const char *fmt;
45 const uint8_t *sig;
47 size_t sig_len;
49 const uint8_t *x5c;
51 size_t x5c_len;
52};
53
64int fido2_attestation_sign(const uint8_t *auth_data, size_t auth_data_len,
65 const uint8_t *client_data_hash, uint32_t credential_key_id,
66 struct fido2_attestation_result *result);
67
68#ifdef __cplusplus
69}
70#endif
71
73
74#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:39
int32_t alg
COSE algorithm identifier (e.g., -7 for ES256).
Definition fido2_attestation.h:43
size_t sig_len
Length of sig in bytes.
Definition fido2_attestation.h:47
const char * fmt
Attestation statement format identifier (e.g., "packed", "none").
Definition fido2_attestation.h:41
const uint8_t * sig
Attestation signature.
Definition fido2_attestation.h:45
size_t x5c_len
Length of x5c in bytes.
Definition fido2_attestation.h:51
const uint8_t * x5c
DER-encoded attestation certificate for the x5c array.
Definition fido2_attestation.h:49