mirror of https://github.com/nodejs/node.git
crypto: assign and use ERR_CRYPTO_UNKNOWN_CIPHER
PR-URL: https://github.com/nodejs/node/pull/31437 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
085a5c7638
commit
8c313ceedf
|
@ -831,6 +831,11 @@ A signing `key` was not provided to the [`sign.sign()`][] method.
|
|||
[`crypto.timingSafeEqual()`][] was called with `Buffer`, `TypedArray`, or
|
||||
`DataView` arguments of different lengths.
|
||||
|
||||
<a id="ERR_CRYPTO_UNKNOWN_CIPHER"></a>
|
||||
### `ERR_CRYPTO_UNKNOWN_CIPHER`
|
||||
|
||||
An unknown cipher was specified.
|
||||
|
||||
<a id="ERR_CRYPTO_UNKNOWN_DH_GROUP"></a>
|
||||
### `ERR_CRYPTO_UNKNOWN_DH_GROUP`
|
||||
|
||||
|
|
|
@ -3531,7 +3531,7 @@ static NonCopyableMaybe<PrivateKeyEncodingConfig> GetPrivateKeyEncodingFromJs(
|
|||
args[*offset].As<String>());
|
||||
result.cipher_ = EVP_get_cipherbyname(*cipher_name);
|
||||
if (result.cipher_ == nullptr) {
|
||||
env->ThrowError("Unknown cipher");
|
||||
THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env);
|
||||
return NonCopyableMaybe<PrivateKeyEncodingConfig>();
|
||||
}
|
||||
needs_passphrase = true;
|
||||
|
@ -4037,7 +4037,7 @@ void CipherBase::Init(const char* cipher_type,
|
|||
|
||||
const EVP_CIPHER* const cipher = EVP_get_cipherbyname(cipher_type);
|
||||
if (cipher == nullptr)
|
||||
return env()->ThrowError("Unknown cipher");
|
||||
return THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env());
|
||||
|
||||
unsigned char key[EVP_MAX_KEY_LENGTH];
|
||||
unsigned char iv[EVP_MAX_IV_LENGTH];
|
||||
|
@ -4101,7 +4101,7 @@ void CipherBase::InitIv(const char* cipher_type,
|
|||
|
||||
const EVP_CIPHER* const cipher = EVP_get_cipherbyname(cipher_type);
|
||||
if (cipher == nullptr) {
|
||||
return env()->ThrowError("Unknown cipher");
|
||||
return THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env());
|
||||
}
|
||||
|
||||
const int expected_iv_len = EVP_CIPHER_iv_length(cipher);
|
||||
|
|
|
@ -39,6 +39,7 @@ void PrintErrorString(const char* format, ...);
|
|||
V(ERR_BUFFER_TOO_LARGE, Error) \
|
||||
V(ERR_CONSTRUCT_CALL_REQUIRED, TypeError) \
|
||||
V(ERR_CONSTRUCT_CALL_INVALID, TypeError) \
|
||||
V(ERR_CRYPTO_UNKNOWN_CIPHER, Error) \
|
||||
V(ERR_CRYPTO_UNKNOWN_DH_GROUP, Error) \
|
||||
V(ERR_INVALID_ARG_VALUE, TypeError) \
|
||||
V(ERR_OSSL_EVP_INVALID_DIGEST, Error) \
|
||||
|
@ -90,6 +91,7 @@ void PrintErrorString(const char* format, ...);
|
|||
"Buffer is not available for the current Context") \
|
||||
V(ERR_CONSTRUCT_CALL_INVALID, "Constructor cannot be called") \
|
||||
V(ERR_CONSTRUCT_CALL_REQUIRED, "Cannot call constructor without `new`") \
|
||||
V(ERR_CRYPTO_UNKNOWN_CIPHER, "Unknown cipher") \
|
||||
V(ERR_CRYPTO_UNKNOWN_DH_GROUP, "Unknown DH group") \
|
||||
V(ERR_INVALID_TRANSFER_OBJECT, "Found invalid object in transferList") \
|
||||
V(ERR_MEMORY_ALLOCATION_FAILED, "Failed to allocate memory") \
|
||||
|
|
|
@ -210,7 +210,11 @@ for (let n = 1; n < 256; n += 1) {
|
|||
// Passing an invalid cipher name should throw.
|
||||
assert.throws(
|
||||
() => crypto.createCipheriv('aes-127', Buffer.alloc(16), null),
|
||||
/Unknown cipher/);
|
||||
{
|
||||
name: 'Error',
|
||||
code: 'ERR_CRYPTO_UNKNOWN_CIPHER',
|
||||
message: 'Unknown cipher'
|
||||
});
|
||||
|
||||
// Passing a key with an invalid length should throw.
|
||||
assert.throws(
|
||||
|
|
|
@ -822,6 +822,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
|
|||
}
|
||||
}), {
|
||||
name: 'Error',
|
||||
code: 'ERR_CRYPTO_UNKNOWN_CIPHER',
|
||||
message: 'Unknown cipher'
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue