diff options
author | djm@openbsd.org <djm@openbsd.org> | 2019-10-31 21:23:19 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2019-11-01 09:46:10 +1100 |
commit | 9a14c64c38fc14d0029f1c7bc70cf62cc7f0fdf9 (patch) | |
tree | d79bb8d66eeba8e353f18dac919cb65d0ad896c7 /sshsig.h | |
parent | 07da39f71d36fb547749a5b16aa8892e621a7e4a (diff) |
upstream: Refactor signing - use sshkey_sign for everything,
including the new U2F signatures.
Don't use sshsk_ecdsa_sign() directly, instead make it reachable via
sshkey_sign() like all other signature operations. This means that
we need to add a provider argument to sshkey_sign(), so most of this
change is mechanically adding that.
Suggested by / ok markus@
OpenBSD-Commit-ID: d5193a03fcfa895085d91b2b83d984a9fde76c8c
Diffstat (limited to 'sshsig.h')
-rw-r--r-- | sshsig.h | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -22,7 +22,7 @@ struct sshkey; | |||
22 | struct sshsigopt; | 22 | struct sshsigopt; |
23 | 23 | ||
24 | typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, | 24 | typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, |
25 | const u_char *, size_t, const char *, u_int, void *); | 25 | const u_char *, size_t, const char *, const char *, u_int, void *); |
26 | 26 | ||
27 | /* Buffer-oriented API */ | 27 | /* Buffer-oriented API */ |
28 | 28 | ||
@@ -32,8 +32,9 @@ typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, | |||
32 | * out is populated with the detached signature, or NULL on failure. | 32 | * out is populated with the detached signature, or NULL on failure. |
33 | */ | 33 | */ |
34 | int sshsig_signb(struct sshkey *key, const char *hashalg, | 34 | int sshsig_signb(struct sshkey *key, const char *hashalg, |
35 | const struct sshbuf *message, const char *sig_namespace, | 35 | const char *sk_provider, const struct sshbuf *message, |
36 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx); | 36 | const char *sig_namespace, struct sshbuf **out, |
37 | sshsig_signer *signer, void *signer_ctx); | ||
37 | 38 | ||
38 | /* | 39 | /* |
39 | * Verifies that a detached signature is valid and optionally returns key | 40 | * Verifies that a detached signature is valid and optionally returns key |
@@ -52,8 +53,8 @@ int sshsig_verifyb(struct sshbuf *signature, | |||
52 | * out is populated with the detached signature, or NULL on failure. | 53 | * out is populated with the detached signature, or NULL on failure. |
53 | */ | 54 | */ |
54 | int sshsig_sign_fd(struct sshkey *key, const char *hashalg, | 55 | int sshsig_sign_fd(struct sshkey *key, const char *hashalg, |
55 | int fd, const char *sig_namespace, struct sshbuf **out, | 56 | const char *sk_provider, int fd, const char *sig_namespace, |
56 | sshsig_signer *signer, void *signer_ctx); | 57 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx); |
57 | 58 | ||
58 | /* | 59 | /* |
59 | * Verifies that a detached signature over a file is valid and optionally | 60 | * Verifies that a detached signature over a file is valid and optionally |