crypto: allow undefined for saltLength and padding
PR-URL: https://github.com/nodejs/node/pull/26921 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
parent
d4eda4d876
commit
c35acc0260
@ -60,8 +60,8 @@ function getSaltLength(options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getIntOption(name, defaultValue, options) {
|
function getIntOption(name, defaultValue, options) {
|
||||||
if (options.hasOwnProperty(name)) {
|
const value = options[name];
|
||||||
const value = options[name];
|
if (value !== undefined) {
|
||||||
if (value === value >> 0) {
|
if (value === value >> 0) {
|
||||||
return value;
|
return value;
|
||||||
} else {
|
} else {
|
||||||
|
@ -32,23 +32,23 @@ const modSize = 1024;
|
|||||||
common.expectsError(
|
common.expectsError(
|
||||||
() => crypto.createVerify('SHA256').verify({
|
() => crypto.createVerify('SHA256').verify({
|
||||||
key: certPem,
|
key: certPem,
|
||||||
padding: undefined,
|
padding: null,
|
||||||
}, ''),
|
}, ''),
|
||||||
{
|
{
|
||||||
code: 'ERR_INVALID_OPT_VALUE',
|
code: 'ERR_INVALID_OPT_VALUE',
|
||||||
type: TypeError,
|
type: TypeError,
|
||||||
message: 'The value "undefined" is invalid for option "padding"'
|
message: 'The value "null" is invalid for option "padding"'
|
||||||
});
|
});
|
||||||
|
|
||||||
common.expectsError(
|
common.expectsError(
|
||||||
() => crypto.createVerify('SHA256').verify({
|
() => crypto.createVerify('SHA256').verify({
|
||||||
key: certPem,
|
key: certPem,
|
||||||
saltLength: undefined,
|
saltLength: null,
|
||||||
}, ''),
|
}, ''),
|
||||||
{
|
{
|
||||||
code: 'ERR_INVALID_OPT_VALUE',
|
code: 'ERR_INVALID_OPT_VALUE',
|
||||||
type: TypeError,
|
type: TypeError,
|
||||||
message: 'The value "undefined" is invalid for option "saltLength"'
|
message: 'The value "null" is invalid for option "saltLength"'
|
||||||
});
|
});
|
||||||
|
|
||||||
// Test signing and verifying
|
// Test signing and verifying
|
||||||
@ -233,7 +233,7 @@ common.expectsError(
|
|||||||
|
|
||||||
// Test exceptions for invalid `padding` and `saltLength` values
|
// Test exceptions for invalid `padding` and `saltLength` values
|
||||||
{
|
{
|
||||||
[null, undefined, NaN, 'boom', {}, [], true, false]
|
[null, NaN, 'boom', {}, [], true, false]
|
||||||
.forEach((invalidValue) => {
|
.forEach((invalidValue) => {
|
||||||
common.expectsError(() => {
|
common.expectsError(() => {
|
||||||
crypto.createSign('SHA256')
|
crypto.createSign('SHA256')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user