summaryrefslogtreecommitdiff
path: root/ssh-sk.h
diff options
context:
space:
mode:
Diffstat (limited to 'ssh-sk.h')
-rw-r--r--ssh-sk.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/ssh-sk.h b/ssh-sk.h
index 0f566bbc..89d1b662 100644
--- a/ssh-sk.h
+++ b/ssh-sk.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-sk.h,v 1.10 2020/01/10 23:43:26 djm Exp $ */
+/* $OpenBSD: ssh-sk.h,v 1.11 2021/10/28 02:54:18 djm Exp $ */
/*
* Copyright (c) 2019 Google LLC
*
@@ -31,6 +31,12 @@ struct sk_option;
#define SSH_SK_HELPER_ENROLL 2
#define SSH_SK_HELPER_LOAD_RESIDENT 3
+struct sshsk_resident_key {
+ struct sshkey *key;
+ uint8_t *user_id;
+ size_t user_id_len;
+};
+
/*
* Enroll (generate) a new security-key hosted private key of given type
* via the specified provider middleware.
@@ -63,7 +69,11 @@ int sshsk_sign(const char *provider_path, struct sshkey *key,
* Returns 0 on success or a ssherr.h error code on failure.
*/
int sshsk_load_resident(const char *provider_path, const char *device,
- const char *pin, struct sshkey ***keysp, size_t *nkeysp);
+ const char *pin, u_int flags, struct sshsk_resident_key ***srksp,
+ size_t *nsrksp);
+
+/* Free an array of sshsk_resident_key (as returned from sshsk_load_resident) */
+void sshsk_free_resident_keys(struct sshsk_resident_key **srks, size_t nsrks);
#endif /* _SSH_SK_H */