diff options
author | Gilles Chehade <gilles@poolp.org> | 2020-11-30 23:56:53 +0100 |
---|---|---|
committer | Gilles Chehade <gilles@poolp.org> | 2020-11-30 23:56:53 +0100 |
commit | 2abb6b08f0f04d5c349e0baaee71a4991e7aa304 (patch) | |
tree | f5ab71184116ac9352ece7aade5ef413cc07e330 | |
parent | bring privsep ECDSA support for OpenSSL (diff) | |
download | OpenSMTPD-2abb6b08f0f04d5c349e0baaee71a4991e7aa304.tar.xz OpenSMTPD-2abb6b08f0f04d5c349e0baaee71a4991e7aa304.zip |
add missing method in engine
-rw-r--r-- | usr.sbin/smtpd/ca.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/ca.c b/usr.sbin/smtpd/ca.c index 78ce64c5..a107eb31 100644 --- a/usr.sbin/smtpd/ca.c +++ b/usr.sbin/smtpd/ca.c @@ -698,6 +698,22 @@ ecdsae_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, } int +ecdsae_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) +{ + int (*verify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey); + + log_debug("debug: %s: %s", proc_name(smtpd_process), __func__); + EC_KEY_METHOD_get_verify(ecdsa_default, + &verify, + NULL); + return (verify(type, dgst, dgst_len, sigbuf, sig_len, eckey)); +} + +int ecdsae_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey) { @@ -853,7 +869,7 @@ ecdsa_engine_init(void) EC_KEY_METHOD_set_sign(ecdsae_method, ecdsae_sign, ecdsae_sign_setup, ecdsae_do_sign); - EC_KEY_METHOD_set_verify(ecdsae_method, NULL, ecdsae_do_verify); + EC_KEY_METHOD_set_verify(ecdsae_method, ecdsae_verify, ecdsae_do_verify); if ((e = ENGINE_get_default_EC()) == NULL) { if ((e = ENGINE_new()) == NULL) { |