diff options
author | Sam Roberts <vieuxtech@gmail.com> | 2019-01-04 11:00:57 -0800 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-01-08 01:08:03 +0100 |
commit | 4a6ec3bd05e2e2d3f121e0d3dea281a6ef7fa32a (patch) | |
tree | 8ab70b4f9fa30414da1457bb3a2cc8405efc2253 /src | |
parent | bf3cb3f9b1be5f55c93493e80e3a9bf41093e18f (diff) | |
download | android-node-v8-4a6ec3bd05e2e2d3f121e0d3dea281a6ef7fa32a.tar.gz android-node-v8-4a6ec3bd05e2e2d3f121e0d3dea281a6ef7fa32a.tar.bz2 android-node-v8-4a6ec3bd05e2e2d3f121e0d3dea281a6ef7fa32a.zip |
src: check curve ID existence instead of asn flags
Simplify the code. The flag check was in the OpenSSL source, but reading
through the docs and source, it is not necessary.
Refs: https://github.com/nodejs/node/pull/24358/files#r243099693
PR-URL: https://github.com/nodejs/node/pull/25345
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/node_crypto.cc | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/node_crypto.cc b/src/node_crypto.cc index c92ace2497..75a687801f 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -1738,21 +1738,18 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) { CHECK_NULL(pub); } - if (EC_GROUP_get_asn1_flag(group) != 0) { + const int nid = EC_GROUP_get_curve_name(group); + if (nid != 0) { // Curve is well-known, get its OID and NIST nick-name (if it has one). - int nid = EC_GROUP_get_curve_name(group); - if (nid != 0) { - if (const char* sn = OBJ_nid2sn(nid)) { - info->Set(context, env->asn1curve_string(), - OneByteString(env->isolate(), sn)).FromJust(); - } + if (const char* sn = OBJ_nid2sn(nid)) { + info->Set(context, env->asn1curve_string(), + OneByteString(env->isolate(), sn)).FromJust(); } - if (nid != 0) { - if (const char* nist = EC_curve_nid2nist(nid)) { - info->Set(context, env->nistcurve_string(), - OneByteString(env->isolate(), nist)).FromJust(); - } + + if (const char* nist = EC_curve_nid2nist(nid)) { + info->Set(context, env->nistcurve_string(), + OneByteString(env->isolate(), nist)).FromJust(); } } else { // Unnamed curves can be described by their mathematical properties, |