diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index 6616e4ea..db98527a 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -208,6 +208,7 @@ list(APPEND MAN_ALIAS fido_credman_metadata_new fido_credman_rp_new fido_credman_metadata_new fido_credman_set_dev_rk fido_cred_set_authdata fido_cred_set_attstmt + fido_cred_set_authdata fido_cred_set_attobj fido_cred_set_authdata fido_cred_set_authdata_raw fido_cred_set_authdata fido_cred_set_blob fido_cred_set_authdata fido_cred_set_clientdata diff --git a/man/fido_cred_set_authdata.3 b/man/fido_cred_set_authdata.3 index e4538325..6f891348 100644 --- a/man/fido_cred_set_authdata.3 +++ b/man/fido_cred_set_authdata.3 @@ -32,6 +32,7 @@ .Nm fido_cred_set_authdata , .Nm fido_cred_set_authdata_raw , .Nm fido_cred_set_attstmt , +.Nm fido_cred_set_attobj , .Nm fido_cred_set_x509 , .Nm fido_cred_set_sig , .Nm fido_cred_set_id , @@ -64,6 +65,8 @@ typedef enum { .Ft int .Fn fido_cred_set_attstmt "fido_cred_t *cred" "const unsigned char *ptr" "size_t len" .Ft int +.Fn fido_cred_set_attobj "fido_cred_t *cred" "const unsigned char *ptr" "size_t len" +.Ft int .Fn fido_cred_set_x509 "fido_cred_t *cred" "const unsigned char *ptr" "size_t len" .Ft int .Fn fido_cred_set_sig "fido_cred_t *cred" "const unsigned char *ptr" "size_t len" @@ -110,14 +113,15 @@ of its constituent parts, please refer to the Web Authentication The .Fn fido_cred_set_authdata , .Fn fido_cred_set_attstmt , +.Fn fido_cred_set_attobj , .Fn fido_cred_set_x509 , .Fn fido_cred_set_sig , .Fn fido_cred_set_id , and .Fn fido_cred_set_clientdata_hash functions set the authenticator data, attestation statement, -attestation certificate, attestation signature, id, and client -data hash parts of +attestation object, attestation certificate, attestation signature, +id, and client data hash parts of .Fa cred to .Fa ptr , @@ -157,6 +161,24 @@ The latter two are meant to be used in contexts where the credential's complete attestation statement is not available or required. .Pp +The attestation object passed to +.Fn fido_cred_set_attobj +must be a CBOR-encoded map containing +.Fa authData , +.Fa fmt , +and +.Fa attStmt . +An application calling +.Fn fido_cred_set_attobj +does not need to call +.Fn fido_cred_set_attstmt +or +.Fn fido_cred_set_fmt +or +.Fn fido_cred_set_authdata +or +.Fn fido_cred_set_authdata_raw . +.Pp The .Fn fido_cred_set_clientdata function allows an application to set the client data hash of