@@ -559,6 +559,52 @@ def test_pss_signing(self, subtests, backend):
559559 hashes .SHA1 (),
560560 )
561561
562+ @pytest .mark .supported (
563+ only_if = lambda backend : backend .rsa_padding_supported (
564+ padding .PSS (
565+ mgf = padding .MGF1 (hashes .SHA1 ()),
566+ salt_length = padding .PSS .MAX_LENGTH ,
567+ )
568+ ),
569+ skip_message = "Does not support PSS." ,
570+ )
571+ @pytest .mark .supported (
572+ only_if = lambda backend : backend .signature_hash_supported (
573+ hashes .SHA1 ()
574+ ),
575+ skip_message = "Does not support SHA1 signature." ,
576+ )
577+ def test_pss_signing_without_digest (self , backend , subtests ):
578+ for private , public , example in _flatten_pkcs1_examples (
579+ load_vectors_from_file (
580+ os .path .join (
581+ "asymmetric" , "RSA" , "pkcs-1v2-1d2-vec" , "pss-vect.txt"
582+ ),
583+ load_pkcs1_vectors ,
584+ )
585+ ):
586+ with subtests .test ():
587+ private_key = rsa .RSAPrivateNumbers (
588+ p = private ["p" ],
589+ q = private ["q" ],
590+ d = private ["private_exponent" ],
591+ dmp1 = private ["dmp1" ],
592+ dmq1 = private ["dmq1" ],
593+ iqmp = private ["iqmp" ],
594+ public_numbers = rsa .RSAPublicNumbers (
595+ e = private ["public_exponent" ], n = private ["modulus" ]
596+ ),
597+ ).private_key (backend , unsafe_skip_rsa_key_validation = True )
598+ with pytest .raises (TypeError ):
599+ private_key .sign (
600+ binascii .unhexlify (example ["message" ]),
601+ padding .PSS (
602+ mgf = padding .MGF1 (algorithm = hashes .SHA1 ()),
603+ salt_length = padding .PSS .MAX_LENGTH ,
604+ ),
605+ asym_utils .NoDigestInfo (),
606+ )
607+
562608 @pytest .mark .supported (
563609 only_if = lambda backend : backend .rsa_padding_supported (
564610 padding .PSS (
0 commit comments