summaryrefslogtreecommitdiff
path: root/sk-usbhid.c
diff options
context:
space:
mode:
Diffstat (limited to 'sk-usbhid.c')
-rw-r--r--sk-usbhid.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sk-usbhid.c b/sk-usbhid.c
index 2efb377c5..0305683fe 100644
--- a/sk-usbhid.c
+++ b/sk-usbhid.c
@@ -1104,8 +1104,7 @@ read_rks(struct sk_usbhid *sk, const char *pin,
1104 } 1104 }
1105 1105
1106 srk->key.key_handle_len = fido_cred_id_len(cred); 1106 srk->key.key_handle_len = fido_cred_id_len(cred);
1107 memcpy(srk->key.key_handle, 1107 memcpy(srk->key.key_handle, fido_cred_id_ptr(cred),
1108 fido_cred_id_ptr(cred),
1109 srk->key.key_handle_len); 1108 srk->key.key_handle_len);
1110 1109
1111 switch (fido_cred_type(cred)) { 1110 switch (fido_cred_type(cred)) {
@@ -1121,6 +1120,9 @@ read_rks(struct sk_usbhid *sk, const char *pin,
1121 goto out; /* XXX free rk and continue */ 1120 goto out; /* XXX free rk and continue */
1122 } 1121 }
1123 1122
1123 if (fido_cred_prot(cred) == FIDO_CRED_PROT_UV_REQUIRED)
1124 srk->flags |= SSH_SK_USER_VERIFICATION_REQD;
1125
1124 if ((r = pack_public_key(srk->alg, cred, 1126 if ((r = pack_public_key(srk->alg, cred,
1125 &srk->key)) != 0) { 1127 &srk->key)) != 0) {
1126 skdebug(__func__, "pack public key failed"); 1128 skdebug(__func__, "pack public key failed");