summaryrefslogtreecommitdiff
path: root/sshkey.h
diff options
context:
space:
mode:
Diffstat (limited to 'sshkey.h')
-rw-r--r--sshkey.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/sshkey.h b/sshkey.h
index 0cbdcfd74..f54deb0c0 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshkey.h,v 1.26 2018/07/03 13:20:25 djm Exp $ */ 1/* $OpenBSD: sshkey.h,v 1.30 2018/09/14 04:17:44 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. 4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -39,6 +39,7 @@
39# define EC_POINT void 39# define EC_POINT void
40# endif /* OPENSSL_HAS_ECC */ 40# endif /* OPENSSL_HAS_ECC */
41#else /* WITH_OPENSSL */ 41#else /* WITH_OPENSSL */
42# define BIGNUM void
42# define RSA void 43# define RSA void
43# define DSA void 44# define DSA void
44# define EC_KEY void 45# define EC_KEY void
@@ -103,6 +104,7 @@ struct sshkey_cert {
103 struct sshbuf *critical; 104 struct sshbuf *critical;
104 struct sshbuf *extensions; 105 struct sshbuf *extensions;
105 struct sshkey *signature_key; 106 struct sshkey *signature_key;
107 char *signature_type;
106}; 108};
107 109
108/* XXX opaquify? */ 110/* XXX opaquify? */
@@ -127,10 +129,7 @@ struct sshkey {
127#define ED25519_PK_SZ crypto_sign_ed25519_PUBLICKEYBYTES 129#define ED25519_PK_SZ crypto_sign_ed25519_PUBLICKEYBYTES
128 130
129struct sshkey *sshkey_new(int); 131struct sshkey *sshkey_new(int);
130int sshkey_add_private(struct sshkey *);
131struct sshkey *sshkey_new_private(int);
132void sshkey_free(struct sshkey *); 132void sshkey_free(struct sshkey *);
133int sshkey_demote(const struct sshkey *, struct sshkey **);
134int sshkey_equal_public(const struct sshkey *, 133int sshkey_equal_public(const struct sshkey *,
135 const struct sshkey *); 134 const struct sshkey *);
136int sshkey_equal(const struct sshkey *, const struct sshkey *); 135int sshkey_equal(const struct sshkey *, const struct sshkey *);
@@ -158,6 +157,7 @@ int sshkey_cert_check_authority(const struct sshkey *, int, int,
158 const char *, const char **); 157 const char *, const char **);
159size_t sshkey_format_cert_validity(const struct sshkey_cert *, 158size_t sshkey_format_cert_validity(const struct sshkey_cert *,
160 char *, size_t) __attribute__((__bounded__(__string__, 2, 3))); 159 char *, size_t) __attribute__((__bounded__(__string__, 2, 3)));
160int sshkey_check_cert_sigtype(const struct sshkey *, const char *);
161 161
162int sshkey_certify(struct sshkey *, struct sshkey *, const char *); 162int sshkey_certify(struct sshkey *, struct sshkey *, const char *);
163/* Variant allowing use of a custom signature function (e.g. for ssh-agent) */ 163/* Variant allowing use of a custom signature function (e.g. for ssh-agent) */
@@ -219,7 +219,7 @@ int sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
219 const char *passphrase, struct sshkey **keyp, char **commentp); 219 const char *passphrase, struct sshkey **keyp, char **commentp);
220 220
221/* XXX should be internal, but used by ssh-keygen */ 221/* XXX should be internal, but used by ssh-keygen */
222int ssh_rsa_generate_additional_parameters(struct sshkey *); 222int ssh_rsa_complete_crt_parameters(struct sshkey *, const BIGNUM *);
223 223
224/* stateful keys (e.g. XMSS) */ 224/* stateful keys (e.g. XMSS) */
225#ifdef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS 225#ifdef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS