@@ -377,8 +377,29 @@ def fake_handler(_) -> str:
377
377
with self .assertRaises (CryptoError ):
378
378
signer = Signer .from_priv_key_uri (uri , pubkey , fake_handler )
379
379
380
- def test_sslib_signer_sign (self ):
381
- for scheme_dict in self .keys :
380
+ def test_sslib_signer_sign_all_schemes (self ):
381
+ rsa_key , ed25519_key , ecdsa_key = self .keys
382
+ keys = []
383
+ for scheme in [
384
+ "rsassa-pss-sha224" ,
385
+ "rsassa-pss-sha256" ,
386
+ "rsassa-pss-sha384" ,
387
+ "rsassa-pss-sha512" ,
388
+ "rsa-pkcs1v15-sha224" ,
389
+ "rsa-pkcs1v15-sha256" ,
390
+ "rsa-pkcs1v15-sha384" ,
391
+ "rsa-pkcs1v15-sha512" ,
392
+ ]:
393
+ key = copy .deepcopy (rsa_key )
394
+ key ["scheme" ] = scheme
395
+ keys .append (key )
396
+
397
+ self .assertEqual (ecdsa_key ["scheme" ], "ecdsa-sha2-nistp256" )
398
+ self .assertEqual (ed25519_key ["scheme" ], "ed25519" )
399
+ keys += [ecdsa_key , ed25519_key ]
400
+
401
+ # Test sign/verify for each supported scheme
402
+ for scheme_dict in keys :
382
403
# Test generation of signatures.
383
404
sslib_signer = SSlibSigner (scheme_dict )
384
405
sig_obj = sslib_signer .sign (self .DATA )
@@ -389,6 +410,9 @@ def test_sslib_signer_sign(self):
389
410
)
390
411
self .assertTrue (verified , "Incorrect signature." )
391
412
413
+ def test_sslib_signer_errors (self ):
414
+ # Test basic initialization errors for each keytype
415
+ for scheme_dict in self .keys :
392
416
# Assert error for invalid private key data
393
417
bad_private = copy .deepcopy (scheme_dict )
394
418
bad_private ["keyval" ]["private" ] = ""
0 commit comments