details: https://github.com/nginx/njs/commit/f3bc5338cb9df269ca6573cf46b5d39721803cf2 branches: master commit: f3bc5338cb9df269ca6573cf46b5d39721803cf2 user: Dmitry Volyntsev <xei...@nginx.com> date: Tue, 13 May 2025 19:08:16 -0700 description: WebCrypto: improved working with curve constants.
In crypto.subtle.generateKey(). --- external/njs_webcrypto_module.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/external/njs_webcrypto_module.c b/external/njs_webcrypto_module.c index d9b05d09..8d7f78e7 100644 --- a/external/njs_webcrypto_module.c +++ b/external/njs_webcrypto_module.c @@ -2593,7 +2593,6 @@ static njs_int_t njs_ext_generate_key(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, njs_index_t unused, njs_value_t *retval) { - int nid; unsigned usage; njs_int_t ret; njs_bool_t extractable; @@ -2730,8 +2729,7 @@ njs_ext_generate_key(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, case NJS_ALGORITHM_ECDSA: case NJS_ALGORITHM_ECDH: - nid = 0; - ret = njs_algorithm_curve(vm, aobject, &nid); + ret = njs_algorithm_curve(vm, aobject, &key->u.a.curve); if (njs_slow_path(ret == NJS_ERROR)) { goto fail; } @@ -2747,7 +2745,7 @@ njs_ext_generate_key(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, goto fail; } - if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) <= 0) { + if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, key->u.a.curve) <= 0) { njs_webcrypto_error(vm, "EVP_PKEY_CTX_set_ec_paramgen_curve_nid() " "failed"); goto fail; _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel