File tree Expand file tree Collapse file tree 3 files changed +19
-2
lines changed Expand file tree Collapse file tree 3 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,22 @@ int GetCurveFromName(const char* name) {
39
39
return nid;
40
40
}
41
41
42
+ int GetOKPCurveFromName (const char * name) {
43
+ int nid;
44
+ if (strcmp (name, " NODE-ED25519" ) == 0 ) {
45
+ nid = EVP_PKEY_ED25519;
46
+ } else if (strcmp (name, " NODE-ED448" ) == 0 ) {
47
+ nid = EVP_PKEY_ED448;
48
+ } else if (strcmp (name, " NODE-X25519" ) == 0 ) {
49
+ nid = EVP_PKEY_X25519;
50
+ } else if (strcmp (name, " NODE-X448" ) == 0 ) {
51
+ nid = EVP_PKEY_X448;
52
+ } else {
53
+ nid = NID_undef;
54
+ }
55
+ return nid;
56
+ }
57
+
42
58
void ECDH::Initialize (Environment* env, Local<Object> target) {
43
59
Local<FunctionTemplate> t = env->NewFunctionTemplate (New);
44
60
t->Inherit (BaseObject::GetConstructorTemplate (env));
@@ -431,7 +447,7 @@ Maybe<bool> ECDHBitsTraits::AdditionalConfig(
431
447
return Nothing<bool >();
432
448
}
433
449
434
- params->id_ = GetCurveFromName (*name);
450
+ params->id_ = GetOKPCurveFromName (*name);
435
451
params->private_ = private_key->Data ();
436
452
params->public_ = public_key->Data ();
437
453
Original file line number Diff line number Diff line change 17
17
namespace node {
18
18
namespace crypto {
19
19
int GetCurveFromName (const char * name);
20
+ int GetOKPCurveFromName (const char * name);
20
21
21
22
class ECDH final : public BaseObject {
22
23
public:
Original file line number Diff line number Diff line change @@ -1058,7 +1058,7 @@ void KeyObjectHandle::InitEDRaw(const FunctionCallbackInfo<Value>& args) {
1058
1058
? EVP_PKEY_new_raw_private_key
1059
1059
: EVP_PKEY_new_raw_public_key;
1060
1060
1061
- int id = GetCurveFromName (*name);
1061
+ int id = GetOKPCurveFromName (*name);
1062
1062
1063
1063
switch (id) {
1064
1064
case EVP_PKEY_X25519:
You can’t perform that action at this time.
0 commit comments