aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Chehade <gilles@poolp.org>2020-11-30 23:56:53 +0100
committerGilles Chehade <gilles@poolp.org>2020-11-30 23:56:53 +0100
commit2abb6b08f0f04d5c349e0baaee71a4991e7aa304 (patch)
treef5ab71184116ac9352ece7aade5ef413cc07e330
parentbring privsep ECDSA support for OpenSSL (diff)
downloadOpenSMTPD-2abb6b08f0f04d5c349e0baaee71a4991e7aa304.tar.xz
OpenSMTPD-2abb6b08f0f04d5c349e0baaee71a4991e7aa304.zip
add missing method in engine
-rw-r--r--usr.sbin/smtpd/ca.c18
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) {