summaryrefslogtreecommitdiff
path: root/man/fido_cred_new.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/fido_cred_new.3')
-rw-r--r--man/fido_cred_new.365
1 files changed, 62 insertions, 3 deletions
diff --git a/man/fido_cred_new.3 b/man/fido_cred_new.3
index 22af60c..d2023eb 100644
--- a/man/fido_cred_new.3
+++ b/man/fido_cred_new.3
@@ -10,18 +10,28 @@
10.Nm fido_cred_free , 10.Nm fido_cred_free ,
11.Nm fido_cred_prot , 11.Nm fido_cred_prot ,
12.Nm fido_cred_fmt , 12.Nm fido_cred_fmt ,
13.Nm fido_cred_rp_id ,
14.Nm fido_cred_rp_name ,
15.Nm fido_cred_user_name ,
16.Nm fido_cred_display_name ,
13.Nm fido_cred_authdata_ptr , 17.Nm fido_cred_authdata_ptr ,
14.Nm fido_cred_clientdata_hash_ptr , 18.Nm fido_cred_clientdata_hash_ptr ,
15.Nm fido_cred_id_ptr , 19.Nm fido_cred_id_ptr ,
20.Nm fido_cred_aaguid_ptr ,
16.Nm fido_cred_pubkey_ptr , 21.Nm fido_cred_pubkey_ptr ,
17.Nm fido_cred_sig_ptr , 22.Nm fido_cred_sig_ptr ,
23.Nm fido_cred_user_id_ptr ,
18.Nm fido_cred_x5c_ptr , 24.Nm fido_cred_x5c_ptr ,
19.Nm fido_cred_authdata_len , 25.Nm fido_cred_authdata_len ,
20.Nm fido_cred_clientdata_hash_len , 26.Nm fido_cred_clientdata_hash_len ,
21.Nm fido_cred_id_len , 27.Nm fido_cred_id_len ,
28.Nm fido_cred_aaguid_len ,
22.Nm fido_cred_pubkey_len , 29.Nm fido_cred_pubkey_len ,
23.Nm fido_cred_sig_len , 30.Nm fido_cred_sig_len ,
24.Nm fido_cred_x5c_len 31.Nm fido_cred_user_id_len ,
32.Nm fido_cred_x5c_len ,
33.Nm fido_cred_type ,
34.Nm fido_cred_flags
25.Nd FIDO 2 credential API 35.Nd FIDO 2 credential API
26.Sh SYNOPSIS 36.Sh SYNOPSIS
27.In fido.h 37.In fido.h
@@ -33,6 +43,14 @@
33.Fn fido_cred_prot "fido_cred_t *cred" 43.Fn fido_cred_prot "fido_cred_t *cred"
34.Ft const char * 44.Ft const char *
35.Fn fido_cred_fmt "const fido_cred_t *cred" 45.Fn fido_cred_fmt "const fido_cred_t *cred"
46.Ft const char *
47.Fn fido_cred_rp_id "const fido_cred_t *cred"
48.Ft const char *
49.Fn fido_cred_rp_name "const fido_cred_t *cred"
50.Ft const char *
51.Fn fido_cred_user_name "const fido_cred_t *cred"
52.Ft const char *
53.Fn fido_cred_display_name "const fido_cred_t *cred"
36.Ft const unsigned char * 54.Ft const unsigned char *
37.Fn fido_cred_authdata_ptr "const fido_cred_t *cred" 55.Fn fido_cred_authdata_ptr "const fido_cred_t *cred"
38.Ft const unsigned char * 56.Ft const unsigned char *
@@ -40,10 +58,14 @@
40.Ft const unsigned char * 58.Ft const unsigned char *
41.Fn fido_cred_id_ptr "const fido_cred_t *cred" 59.Fn fido_cred_id_ptr "const fido_cred_t *cred"
42.Ft const unsigned char * 60.Ft const unsigned char *
61.Fn fido_cred_aaguid_ptr "const fido_cred_t *cred"
62.Ft const unsigned char *
43.Fn fido_cred_pubkey_ptr "const fido_cred_t *cred" 63.Fn fido_cred_pubkey_ptr "const fido_cred_t *cred"
44.Ft const unsigned char * 64.Ft const unsigned char *
45.Fn fido_cred_sig_ptr "const fido_cred_t *cred" 65.Fn fido_cred_sig_ptr "const fido_cred_t *cred"
46.Ft const unsigned char * 66.Ft const unsigned char *
67.Fn fido_cred_user_id_ptr "const fido_cred_t *cred"
68.Ft const unsigned char *
47.Fn fido_cred_x5c_ptr "const fido_cred_t *cred" 69.Fn fido_cred_x5c_ptr "const fido_cred_t *cred"
48.Ft size_t 70.Ft size_t
49.Fn fido_cred_authdata_len "const fido_cred_t *cred" 71.Fn fido_cred_authdata_len "const fido_cred_t *cred"
@@ -52,11 +74,19 @@
52.Ft size_t 74.Ft size_t
53.Fn fido_cred_id_len "const fido_cred_t *cred" 75.Fn fido_cred_id_len "const fido_cred_t *cred"
54.Ft size_t 76.Ft size_t
77.Fn fido_cred_aaguid_len "const fido_cred_t *cred"
78.Ft size_t
55.Fn fido_cred_pubkey_len "const fido_cred_t *cred" 79.Fn fido_cred_pubkey_len "const fido_cred_t *cred"
56.Ft size_t 80.Ft size_t
57.Fn fido_cred_sig_len "const fido_cred_t *cred" 81.Fn fido_cred_sig_len "const fido_cred_t *cred"
58.Ft size_t 82.Ft size_t
83.Fn fido_cred_user_id_len "const fido_cred_t *cred"
84.Ft size_t
59.Fn fido_cred_x5c_len "const fido_cred_t *cred" 85.Fn fido_cred_x5c_len "const fido_cred_t *cred"
86.Ft int
87.Fn fido_cred_type "const fido_cred_t *cred"
88.Ft uint8_t
89.Fn fido_cred_flags "const fido_cred_t *cred"
60.Sh DESCRIPTION 90.Sh DESCRIPTION
61FIDO 2 credentials are abstracted in 91FIDO 2 credentials are abstracted in
62.Em libfido2 92.Em libfido2
@@ -120,15 +150,30 @@ or NULL if
120does not have a format set. 150does not have a format set.
121.Pp 151.Pp
122The 152The
153.Fn fido_cred_rp_id ,
154.Fn fido_cred_rp_name ,
155.Fn fido_cred_user_name ,
156and
157.Fn fido_cred_display_name
158functions return pointers to NUL-terminated strings holding the
159relying party ID, relying party name, user name, and user display
160name attributes of
161.Fa cred ,
162or NULL if the respective entry is not set.
163.Pp
164The
123.Fn fido_cred_authdata_ptr , 165.Fn fido_cred_authdata_ptr ,
124.Fn fido_cred_clientdata_hash_ptr , 166.Fn fido_cred_clientdata_hash_ptr ,
125.Fn fido_cred_id_ptr , 167.Fn fido_cred_id_ptr ,
168.Fn fido_cred_aaguid_ptr ,
126.Fn fido_cred_pubkey_ptr , 169.Fn fido_cred_pubkey_ptr ,
127.Fn fido_cred_sig_ptr , 170.Fn fido_cred_sig_ptr ,
171.Fn fido_cred_user_id_ptr ,
128and 172and
129.Fn fido_cred_x5c_ptr 173.Fn fido_cred_x5c_ptr
130functions return pointers to the authenticator data, client data 174functions return pointers to the authenticator data, client data
131hash, ID, public key, signature and x509 certificate parts of 175hash, ID, authenticator attestation GUID, public key, signature,
176user ID, and x509 certificate parts of
132.Fa cred , 177.Fa cred ,
133or NULL if the respective entry is not set. 178or NULL if the respective entry is not set.
134.Pp 179.Pp
@@ -136,12 +181,25 @@ The corresponding length can be obtained by
136.Fn fido_cred_authdata_len , 181.Fn fido_cred_authdata_len ,
137.Fn fido_cred_clientdata_hash_len , 182.Fn fido_cred_clientdata_hash_len ,
138.Fn fido_cred_id_len , 183.Fn fido_cred_id_len ,
184.Fn fido_cred_aaguid_len ,
139.Fn fido_cred_pubkey_len , 185.Fn fido_cred_pubkey_len ,
186.Fn fido_cred_sig_len ,
187.Fn fido_cred_user_id_len ,
140and 188and
141.Fn fido_cred_sig_len . 189.Fn fido_cred_x5c_len .
142.Pp 190.Pp
143The authenticator data, x509 certificate, and signature parts of a 191The authenticator data, x509 certificate, and signature parts of a
144credential are typically passed to a FIDO 2 server for verification. 192credential are typically passed to a FIDO 2 server for verification.
193.Pp
194The
195.Fn fido_cred_type
196function returns the COSE algorithm of
197.Fa cred .
198.Pp
199The
200.Fn fido_cred_flags
201function returns the authenticator data flags of
202.Fa cred .
145.Sh RETURN VALUES 203.Sh RETURN VALUES
146The authenticator data returned by 204The authenticator data returned by
147.Fn fido_cred_authdata_ptr 205.Fn fido_cred_authdata_ptr
@@ -152,6 +210,7 @@ If not NULL, pointers returned by
152.Fn fido_cred_authdata_ptr , 210.Fn fido_cred_authdata_ptr ,
153.Fn fido_cred_clientdata_hash_ptr , 211.Fn fido_cred_clientdata_hash_ptr ,
154.Fn fido_cred_id_ptr , 212.Fn fido_cred_id_ptr ,
213.Fn fido_cred_aaguid_ptr ,
155.Fn fido_cred_pubkey_ptr , 214.Fn fido_cred_pubkey_ptr ,
156.Fn fido_cred_sig_ptr , 215.Fn fido_cred_sig_ptr ,
157and 216and