@@ -2710,8 +2710,7 @@ static ParsePublicKeyResult TryParsePublicKey(
27102710
27112711static ParsePublicKeyResult ParsePublicKeyPEM (EVPKeyPointer* pkey,
27122712const char * key_pem,
2713- int key_pem_len,
2714- bool allow_certificate) {
2713+ int key_pem_len) {
27152714 BIOPointer bp (BIO_new_mem_buf (const_cast <char *>(key_pem), key_pem_len));
27162715if (!bp)
27172716return ParsePublicKeyResult::kParsePublicFailed ;
@@ -2732,8 +2731,7 @@ static ParsePublicKeyResult ParsePublicKeyPEM(EVPKeyPointer* pkey,
27322731 [](const unsigned char ** p, long l) { // NOLINT(runtime/int)
27332732return d2i_PublicKey (EVP_PKEY_RSA , nullptr , p, l);
27342733 });
2735- if (ret != ParsePublicKeyResult::kParsePublicNotRecognized ||
2736- !allow_certificate)
2734+ if (ret != ParsePublicKeyResult::kParsePublicNotRecognized )
27372735return ret;
27382736
27392737// X.509 fallback.
@@ -2748,11 +2746,10 @@ static ParsePublicKeyResult ParsePublicKeyPEM(EVPKeyPointer* pkey,
27482746static bool ParsePublicKey (EVPKeyPointer* pkey,
27492747const PublicKeyEncodingConfig& config,
27502748const char * key,
2751- size_t key_len,
2752- bool allow_certificate) {
2749+ size_t key_len) {
27532750if (config.format_ == kKeyFormatPEM ) {
27542751 ParsePublicKeyResult r =
2755- ParsePublicKeyPEM (pkey, key, key_len, allow_certificate );
2752+ ParsePublicKeyPEM (pkey, key, key_len);
27562753return r == ParsePublicKeyResult::kParsePublicOk ;
27572754 } else {
27582755CHECK_EQ (config.format_ , kKeyFormatDER );
@@ -3002,15 +2999,14 @@ static PublicKeyEncodingConfig GetPublicKeyEncodingFromJs(
30022999static ManagedEVPPKey GetPublicKeyFromJs (
30033000const FunctionCallbackInfo<Value>& args,
30043001unsigned int * offset,
3005- bool allow_key_object,
3006- bool allow_certificate) {
3002+ bool allow_key_object) {
30073003if (args[*offset]->IsString () || Buffer::HasInstance (args[*offset])) {
30083004 Environment* env = Environment::GetCurrent (args);
30093005 ByteSource key = ByteSource::FromStringOrBuffer (env, args[(*offset)++]);
30103006 PublicKeyEncodingConfig config =
30113007GetPublicKeyEncodingFromJs (args, offset, kKeyContextInput );
30123008 EVPKeyPointer pkey;
3013- ParsePublicKey (&pkey, config, key.get (), key.size (), allow_certificate );
3009+ ParsePublicKey (&pkey, config, key.get (), key.size ());
30143010if (!pkey)
30153011ThrowCryptoError (env, ERR_get_error (), " Failed to read public key" );
30163012return ManagedEVPPKey (pkey.release ());
@@ -3131,8 +3127,7 @@ static bool IsRSAPrivateKey(const unsigned char* data, size_t size) {
31313127static ManagedEVPPKey GetPublicOrPrivateKeyFromJs (
31323128const FunctionCallbackInfo<Value>& args,
31333129unsigned int * offset,
3134- bool allow_key_object,
3135- bool allow_certificate) {
3130+ bool allow_key_object) {
31363131if (args[*offset]->IsString () || Buffer::HasInstance (args[*offset])) {
31373132 Environment* env = Environment::GetCurrent (args);
31383133 ByteSource data = ByteSource::FromStringOrBuffer (env, args[(*offset)++]);
@@ -3146,8 +3141,7 @@ static ManagedEVPPKey GetPublicOrPrivateKeyFromJs(
31463141// For PEM, we can easily determine whether it is a public or private key
31473142// by looking for the respective PEM tags.
31483143 ParsePublicKeyResult ret = ParsePublicKeyPEM (&pkey, data.get (),
3149- data.size (),
3150- allow_certificate);
3144+ data.size ());
31513145if (ret == ParsePublicKeyResult::kParsePublicNotRecognized ) {
31523146 pkey = ParsePrivateKey (config, data.get (), data.size ());
31533147 }
@@ -3172,8 +3166,7 @@ static ManagedEVPPKey GetPublicOrPrivateKeyFromJs(
31723166 }
31733167
31743168if (is_public) {
3175- ParsePublicKey (&pkey, config, data.get (), data.size (),
3176- allow_certificate);
3169+ ParsePublicKey (&pkey, config, data.get (), data.size ());
31773170 } else {
31783171 pkey = ParsePrivateKey (config, data.get (), data.size ());
31793172 }
@@ -3386,7 +3379,7 @@ void KeyObject::Init(const FunctionCallbackInfo<Value>& args) {
33863379CHECK_EQ (args.Length (), 3 );
33873380
33883381 offset = 0 ;
3389- pkey = GetPublicKeyFromJs (args, &offset, false , false );
3382+ pkey = GetPublicKeyFromJs (args, &offset, false );
33903383if (!pkey)
33913384return ;
33923385 key->InitPublic (pkey);
@@ -4668,7 +4661,7 @@ void Verify::VerifyFinal(const FunctionCallbackInfo<Value>& args) {
46684661ASSIGN_OR_RETURN_UNWRAP (&verify, args.Holder ());
46694662
46704663unsigned int offset = 0 ;
4671- ManagedEVPPKey pkey = GetPublicKeyFromJs (args, &offset, true , true );
4664+ ManagedEVPPKey pkey = GetPublicKeyFromJs (args, &offset, true );
46724665
46734666char * hbuf = Buffer::Data (args[offset]);
46744667ssize_t hlen = Buffer::Length (args[offset]);
@@ -4724,7 +4717,7 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo<Value>& args) {
47244717 Environment* env = Environment::GetCurrent (args);
47254718
47264719unsigned int offset = 0 ;
4727- ManagedEVPPKey pkey = GetPublicOrPrivateKeyFromJs (args, &offset, true , true );
4720+ ManagedEVPPKey pkey = GetPublicOrPrivateKeyFromJs (args, &offset, true );
47284721if (!pkey)
47294722return ;
47304723
0 commit comments