33#ifndef SSH_SK_USER_PRESENCE_REQD
34#define SSH_SK_USER_PRESENCE_REQD 0x01
38#ifndef SSH_SK_USER_VERIFICATION_REQD
39#define SSH_SK_USER_VERIFICATION_REQD 0x04
44#ifndef SSH_SK_FORCE_OPERATION
45#define SSH_SK_FORCE_OPERATION 0x10
49#ifndef SSH_SK_RESIDENT_KEY
50#define SSH_SK_RESIDENT_KEY 0x20
56#define SSH_SK_ECDSA 0x00
59#define SSH_SK_ED25519 0x01
64#define SSH_SK_ERR_GENERAL -1
67#define SSH_SK_ERR_UNSUPPORTED -2
70#define SSH_SK_ERR_PIN_REQUIRED -3
73#define SSH_SK_ERR_DEVICE_NOT_FOUND -4
76#define SSH_SK_ERR_CREDENTIAL_EXISTS -5
280#define SSH_SK_VERSION_MAJOR 0x000a0000
281#define SSH_SK_VERSION_MAJOR_MASK 0xffff0000
Response structure for FIDO2/U2F key enrollment operations.
Definition sk_api.h:84
uint8_t * attestation_cert
X.509 attestation certificate.
Definition sk_api.h:141
size_t public_key_len
Length of public_key buffer in bytes.
Definition sk_api.h:105
size_t attestation_cert_len
Length of attestation_cert buffer in bytes.
Definition sk_api.h:144
uint8_t * key_handle
Opaque credential handle/ID used to identify this key.
Definition sk_api.h:113
uint8_t * public_key
Public key data in standard format.
Definition sk_api.h:99
uint8_t flags
FIDO2/U2F authenticator flags from the enrollment operation.
Definition sk_api.h:91
uint8_t * signature
Enrollment signature over the enrollment data.
Definition sk_api.h:127
size_t authdata_len
Length of authdata buffer in bytes.
Definition sk_api.h:158
size_t signature_len
Length of signature buffer in bytes.
Definition sk_api.h:133
uint8_t * authdata
FIDO2/U2F authenticator data from enrollment.
Definition sk_api.h:152
size_t key_handle_len
Length of key_handle buffer in bytes.
Definition sk_api.h:119
Configuration option structure for FIDO2/U2F operations.
Definition sk_api.h:263
char * value
Option value as bytes.
Definition sk_api.h:268
uint8_t required
Indicates if this option is required for the operation.
Definition sk_api.h:276
char * name
Option name/key identifier.
Definition sk_api.h:265
Structure representing a resident/discoverable credential.
Definition sk_api.h:204
uint32_t alg
Cryptographic algorithm identifier for this key.
Definition sk_api.h:210
uint8_t flags
Flags associated with this resident key.
Definition sk_api.h:241
size_t user_id_len
Length of user_id buffer in bytes.
Definition sk_api.h:254
char * application
Relying Party (application) identifier string.
Definition sk_api.h:226
size_t slot
Slot/index number of this key on the authenticator.
Definition sk_api.h:218
struct sk_enroll_response key
Embedded enrollment response containing key material.
Definition sk_api.h:233
uint8_t * user_id
User identifier associated with this resident key.
Definition sk_api.h:248
Response structure for FIDO2/U2F key signing operations.
Definition sk_api.h:167
size_t sig_r_len
Length of sig_r buffer in bytes.
Definition sk_api.h:188
uint8_t flags
FIDO2/U2F authenticator flags from the signing operation.
Definition sk_api.h:174
uint32_t counter
Authenticator signature counter value.
Definition sk_api.h:182
size_t sig_s_len
Length of sig_s buffer in bytes.
Definition sk_api.h:194
uint8_t * sig_r
R component of ECDSA signature or Ed25519 signature.
Definition sk_api.h:185
uint8_t * sig_s
S component of ECDSA signature.
Definition sk_api.h:191