From: Dmitry Volyntsev Date: Wed, 22 Dec 2021 16:54:13 +0000 (+0000) Subject: Fixed WebCrypto sign() and verify() methods with OpenSSL 3.0.1. X-Git-Tag: 0.7.1~14 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=bed8ad956ce9d5c2782f407d663fda0b639d4a09;p=njs.git Fixed WebCrypto sign() and verify() methods with OpenSSL 3.0.1. Since 3.0.1 EVP_DigestSignFinal() expects siglen to contain the actual buffer size for signature buffer. --- diff --git a/external/njs_webcrypto.c b/external/njs_webcrypto.c index 450ebfd6..d9ddbe30 100644 --- a/external/njs_webcrypto.c +++ b/external/njs_webcrypto.c @@ -2077,6 +2077,8 @@ njs_ext_sign(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, dst = (u_char *) &m[0]; } + outlen = olen; + ret = EVP_DigestSignFinal(mctx, dst, &outlen); if (njs_slow_path(ret <= 0 || olen != outlen)) { njs_webcrypto_error(vm, "EVP_DigestSignFinal() failed");