feat: fix external_sign rsa1024
This commit is contained in:
@@ -76,13 +76,16 @@ fn sign(sub_arg_matches: &ArgMatches) -> XResult<Vec<u8>> {
|
||||
_ => return simple_error!("Invalid alg: {}", alg),
|
||||
};
|
||||
|
||||
if key.algorithm == AlgorithmId::Rsa1024 {
|
||||
return simple_error!("Invalid algorithm: RSA1024");
|
||||
}
|
||||
|
||||
let is_p256_mismatch =
|
||||
key.algorithm == AlgorithmId::EccP256 && jwt_algorithm != AlgorithmType::Es256;
|
||||
let is_p384_mismatch =
|
||||
key.algorithm == AlgorithmId::EccP384 && jwt_algorithm != AlgorithmType::Es384;
|
||||
let is_rsa =
|
||||
key.algorithm == AlgorithmId::Rsa1024 || key.algorithm == AlgorithmId::Rsa2048;
|
||||
let is_rsa_mismatch = is_rsa && jwt_algorithm != AlgorithmType::Rs256;
|
||||
let is_rsa_mismatch =
|
||||
key.algorithm == AlgorithmId::Rsa2048 && jwt_algorithm != AlgorithmType::Rs256;
|
||||
|
||||
if is_p256_mismatch || is_p384_mismatch || is_rsa_mismatch {
|
||||
return simple_error!("Invalid algorithm: {} vs {}", key.algorithm.to_str(), alg);
|
||||
|
||||
Reference in New Issue
Block a user