aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2025-05-13 19:08:16 -0700
committerDmitry Volyntsev <xeioexception@gmail.com>2025-05-16 12:15:29 -0700
commitf3bc5338cb9df269ca6573cf46b5d39721803cf2 (patch)
tree09efb7ee4c5e9e14987cfed3271ca2c60fde89ed
parent1b69415d8c29bde08cc4c79dbb4b88827c55d8b9 (diff)
downloadnjs-master.tar.gz
njs-master.zip
WebCrypto: improved working with curve constants.HEADmaster
In crypto.subtle.generateKey().
-rw-r--r--external/njs_webcrypto_module.c6
1 files 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;