diff --git a/lib/cose/algorithm/rsa_pss.rb b/lib/cose/algorithm/rsa_pss.rb index bfe887c..2334272 100644 --- a/lib/cose/algorithm/rsa_pss.rb +++ b/lib/cose/algorithm/rsa_pss.rb @@ -21,7 +21,9 @@ def initialize(*args, hash_function:, salt_length:) private def valid_key?(key) - to_cose_key(key).is_a?(COSE::Key::RSA) + cose_key = to_cose_key(key) + + cose_key.is_a?(COSE::Key::RSA) && (!cose_key.alg || cose_key.alg == id) end def signature_algorithm_class