Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
crypto: improve RSA-PSS digest error messages
md and mgf1_md are internal variable names and should not appear in
JS error messages. Also include the invalid digest name in the error
message.
  • Loading branch information
tniessen committed Aug 20, 2022
commit 1c91c38487ae5d69c110cb6603a1c908379996be
6 changes: 3 additions & 3 deletions src/crypto/crypto_rsa.cc
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ Maybe<bool> RsaKeyGenTraits::AdditionalConfig(
Utf8Value digest(env->isolate(), args[*offset]);
params->params.md = EVP_get_digestbyname(*digest);
if (params->params.md == nullptr) {
THROW_ERR_CRYPTO_INVALID_DIGEST(env, "md specifies an invalid digest");
THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest);
return Nothing<bool>();
}
}
Expand All @@ -163,8 +163,8 @@ Maybe<bool> RsaKeyGenTraits::AdditionalConfig(
Utf8Value digest(env->isolate(), args[*offset + 1]);
params->params.mgf1_md = EVP_get_digestbyname(*digest);
if (params->params.mgf1_md == nullptr) {
THROW_ERR_CRYPTO_INVALID_DIGEST(env,
"mgf1_md specifies an invalid digest");
THROW_ERR_CRYPTO_INVALID_DIGEST(
env, "Invalid MGF1 digest: %s", *digest);
return Nothing<bool>();
}
}
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-crypto-keygen.js
Original file line number Diff line number Diff line change
Expand Up @@ -1661,7 +1661,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}, common.mustNotCall()), {
name: 'TypeError',
code: 'ERR_CRYPTO_INVALID_DIGEST',
message: 'md specifies an invalid digest'
message: 'Invalid digest: sha2'
});

assert.throws(() => generateKeyPair('rsa-pss', {
Expand All @@ -1670,7 +1670,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}, common.mustNotCall()), {
name: 'TypeError',
code: 'ERR_CRYPTO_INVALID_DIGEST',
message: 'mgf1_md specifies an invalid digest'
message: 'Invalid MGF1 digest: sha2'
});
}

Expand Down