@@ -425,20 +425,15 @@ MaybeLocal<Value> GetCurveName(Environment* env, const int nid) {
425
425
MaybeLocal<Value>(Undefined (env->isolate ()));
426
426
}
427
427
428
- MaybeLocal<Value> GetECPubKey (
429
- Environment* env,
430
- const EC_GROUP* group,
431
- const ECPointer& ec) {
432
- const EC_POINT* pubkey = EC_KEY_get0_public_key (ec.get ());
428
+ MaybeLocal<Value> GetECPubKey (Environment* env,
429
+ const EC_GROUP* group,
430
+ const EC_KEY* ec) {
431
+ const EC_POINT* pubkey = EC_KEY_get0_public_key (ec);
433
432
if (pubkey == nullptr )
434
433
return Undefined (env->isolate ());
435
434
436
- return ECPointToBuffer (
437
- env,
438
- group,
439
- pubkey,
440
- EC_KEY_get_conv_form (ec.get ()),
441
- nullptr ).FromMaybe (Local<Object>());
435
+ return ECPointToBuffer (env, group, pubkey, EC_KEY_get_conv_form (ec), nullptr )
436
+ .FromMaybe (Local<Object>());
442
437
}
443
438
444
439
MaybeLocal<Value> GetECGroupBits (Environment* env, const EC_GROUP* group) {
@@ -452,8 +447,8 @@ MaybeLocal<Value> GetECGroupBits(Environment* env, const EC_GROUP* group) {
452
447
return Integer::New (env->isolate (), bits);
453
448
}
454
449
455
- MaybeLocal<Object> GetPubKey (Environment* env, const RSAPointer& rsa) {
456
- int size = i2d_RSA_PUBKEY (rsa. get () , nullptr );
450
+ MaybeLocal<Object> GetPubKey (Environment* env, const RSA* rsa) {
451
+ int size = i2d_RSA_PUBKEY (rsa, nullptr );
457
452
CHECK_GE (size, 0 );
458
453
459
454
std::unique_ptr<BackingStore> bs;
@@ -463,7 +458,7 @@ MaybeLocal<Object> GetPubKey(Environment* env, const RSAPointer& rsa) {
463
458
}
464
459
465
460
unsigned char * serialized = reinterpret_cast <unsigned char *>(bs->Data ());
466
- CHECK_GE (i2d_RSA_PUBKEY (rsa. get () , &serialized), 0 );
461
+ CHECK_GE (i2d_RSA_PUBKEY (rsa, &serialized), 0 );
467
462
468
463
Local<ArrayBuffer> ab = ArrayBuffer::New (env->isolate (), std::move (bs));
469
464
return Buffer::New (env, ab, 0 , ab->ByteLength ()).FromMaybe (Local<Object>());
@@ -1125,8 +1120,8 @@ MaybeLocal<Object> GetEphemeralKey(Environment* env, const SSLPointer& ssl) {
1125
1120
{
1126
1121
const char * curve_name;
1127
1122
if (kid == EVP_PKEY_EC) {
1128
- ECKeyPointer ec ( EVP_PKEY_get1_EC_KEY ( key.get () ));
1129
- int nid = EC_GROUP_get_curve_name (EC_KEY_get0_group (ec. get () ));
1123
+ const EC_KEY* ec = EVP_PKEY_get0_EC_KEY ( key.get ());
1124
+ int nid = EC_GROUP_get_curve_name (EC_KEY_get0_group (ec));
1130
1125
curve_name = OBJ_nid2sn (nid);
1131
1126
} else {
1132
1127
curve_name = OBJ_nid2sn (kid);
@@ -1285,24 +1280,24 @@ MaybeLocal<Object> X509ToObject(
1285
1280
return MaybeLocal<Object>();
1286
1281
}
1287
1282
1288
- EVPKeyPointer pkey ( X509_get_pubkey ( cert) );
1289
- RSAPointer rsa;
1290
- ECPointer ec ;
1291
- if (pkey) {
1292
- switch (EVP_PKEY_id (pkey. get () )) {
1283
+ const EVP_PKEY* pkey = X509_get0_pubkey ( cert);
1284
+ const RSA* rsa = nullptr ;
1285
+ const EC_KEY* ec = nullptr ;
1286
+ if (pkey != nullptr ) {
1287
+ switch (EVP_PKEY_id (pkey)) {
1293
1288
case EVP_PKEY_RSA:
1294
- rsa. reset ( EVP_PKEY_get1_RSA ( pkey. get ()) );
1289
+ rsa = EVP_PKEY_get0_RSA ( pkey);
1295
1290
break ;
1296
1291
case EVP_PKEY_EC:
1297
- ec. reset ( EVP_PKEY_get1_EC_KEY ( pkey. get ()) );
1292
+ ec = EVP_PKEY_get0_EC_KEY ( pkey);
1298
1293
break ;
1299
1294
}
1300
1295
}
1301
1296
1302
1297
if (rsa) {
1303
1298
const BIGNUM* n;
1304
1299
const BIGNUM* e;
1305
- RSA_get0_key (rsa. get () , &n, &e, nullptr );
1300
+ RSA_get0_key (rsa, &n, &e, nullptr );
1306
1301
if (!Set<Value>(context,
1307
1302
info,
1308
1303
env->modulus_string (),
@@ -1319,7 +1314,7 @@ MaybeLocal<Object> X509ToObject(
1319
1314
return MaybeLocal<Object>();
1320
1315
}
1321
1316
} else if (ec) {
1322
- const EC_GROUP* group = EC_KEY_get0_group (ec. get () );
1317
+ const EC_GROUP* group = EC_KEY_get0_group (ec);
1323
1318
1324
1319
if (!Set<Value>(
1325
1320
context, info, env->bits_string (), GetECGroupBits (env, group)) ||
@@ -1348,11 +1343,6 @@ MaybeLocal<Object> X509ToObject(
1348
1343
}
1349
1344
}
1350
1345
1351
- // pkey, rsa, and ec pointers are no longer needed.
1352
- pkey.reset ();
1353
- rsa.reset ();
1354
- ec.reset ();
1355
-
1356
1346
if (!Set<Value>(context,
1357
1347
info,
1358
1348
env->valid_from_string (),
0 commit comments