1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00

fix(ext/crypto): use NotSupportedError for importKey() (#12289)

This commit is contained in:
Divy Srivastava 2021-10-01 16:46:11 +05:30 committed by GitHub
parent f68825eda0
commit 1dfa35b2ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1100,13 +1100,20 @@ pub async fn op_crypto_import_key(
RSA_ENCRYPTION_OID => None,
// id-RSASSA-PSS
RSASSA_PSS_OID => {
// TODO(@littledivy): NotSupported error
let params = PssPrivateKeyParameters::try_from(
pk_info.algorithm.parameters.ok_or_else(|| {
type_error("Malformed parameters".to_string())
custom_error(
"DOMExceptionNotSupportedError",
"Malformed parameters".to_string(),
)
})?,
)
.map_err(|_| type_error("Malformed parameters".to_string()))?;
.map_err(|_| {
custom_error(
"DOMExceptionNotSupportedError",
"Malformed parameters".to_string(),
)
})?;
let hash_alg = params.hash_algorithm;
let hash = match hash_alg.oid {
@ -1127,8 +1134,8 @@ pub async fn op_crypto_import_key(
};
if params.mask_gen_algorithm.oid != ID_MFG1 {
// TODO(@littledivy): NotSupportedError
return Err(type_error(
return Err(custom_error(
"DOMExceptionNotSupportedError",
"Unsupported hash algorithm".to_string(),
));
}
@ -1207,13 +1214,20 @@ pub async fn op_crypto_import_key(
RSA_ENCRYPTION_OID => None,
// id-RSAES-OAEP
RSAES_OAEP_OID => {
// TODO(@littledivy): NotSupported error
let params = OaepPrivateKeyParameters::try_from(
pk_info.algorithm.parameters.ok_or_else(|| {
type_error("Malformed parameters".to_string())
custom_error(
"DOMExceptionNotSupportedError",
"Malformed parameters".to_string(),
)
})?,
)
.map_err(|_| type_error("Malformed parameters".to_string()))?;
.map_err(|_| {
custom_error(
"DOMExceptionNotSupportedError",
"Malformed parameters".to_string(),
)
})?;
let hash_alg = params.hash_algorithm;
let hash = match hash_alg.oid {
@ -1234,8 +1248,8 @@ pub async fn op_crypto_import_key(
};
if params.mask_gen_algorithm.oid != ID_MFG1 {
// TODO(@littledivy): NotSupportedError
return Err(type_error(
return Err(custom_error(
"DOMExceptionNotSupportedError",
"Unsupported hash algorithm".to_string(),
));
}