summaryrefslogtreecommitdiff
path: root/sshkey.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2017-06-28 01:09:22 +0000
committerDamien Miller <djm@mindrot.org>2017-06-28 11:13:19 +1000
commita98339edbc1fc21342a390f345179a9c3031bef7 (patch)
tree574e103d0a458f96213e808118eb75d39bc3387f /sshkey.h
parentc9cdef35524bd59007e17d5bd2502dade69e2dfb (diff)
upstream commit
Allow ssh-keygen to use a key held in ssh-agent as a CA when signing certificates. bz#2377 ok markus Upstream-ID: fb42e920b592edcbb5b50465739a867c09329c8f
Diffstat (limited to 'sshkey.h')
-rw-r--r--sshkey.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/sshkey.h b/sshkey.h
index 8aaa3153..d8346a57 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshkey.h,v 1.19 2017/06/13 11:22:15 djm Exp $ */
+/* $OpenBSD: sshkey.h,v 1.20 2017/06/28 01:09:22 djm Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -137,13 +137,19 @@ int sshkey_type_is_cert(int);
int sshkey_type_plain(int);
int sshkey_to_certified(struct sshkey *);
int sshkey_drop_cert(struct sshkey *);
-int sshkey_certify(struct sshkey *, struct sshkey *, const char *);
int sshkey_cert_copy(const struct sshkey *, struct sshkey *);
int sshkey_cert_check_authority(const struct sshkey *, int, int,
const char *, const char **);
size_t sshkey_format_cert_validity(const struct sshkey_cert *,
char *, size_t) __attribute__((__bounded__(__string__, 2, 3)));
+int sshkey_certify(struct sshkey *, struct sshkey *, const char *);
+/* Variant allowing use of a custom signature function (e.g. for ssh-agent) */
+typedef int sshkey_certify_signer(const struct sshkey *, u_char **, size_t *,
+ const u_char *, size_t, const char *, u_int, void *);
+int sshkey_certify_custom(struct sshkey *, struct sshkey *, const char *,
+ sshkey_certify_signer *, void *);
+
int sshkey_ecdsa_nid_from_name(const char *);
int sshkey_curve_name_to_nid(const char *);
const char * sshkey_curve_nid_to_name(int);