Skip to content

Commit 82b0b09

Browse files
committed
test: test SSlibSigner with all supported schemes
Also moves error tests to separate function. Signed-off-by: Lukas Puehringer <[email protected]>
1 parent ad64dcd commit 82b0b09

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

tests/test_signer.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,29 @@ def fake_handler(_) -> str:
377377
with self.assertRaises(CryptoError):
378378
signer = Signer.from_priv_key_uri(uri, pubkey, fake_handler)
379379

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:
382403
# Test generation of signatures.
383404
sslib_signer = SSlibSigner(scheme_dict)
384405
sig_obj = sslib_signer.sign(self.DATA)
@@ -389,6 +410,9 @@ def test_sslib_signer_sign(self):
389410
)
390411
self.assertTrue(verified, "Incorrect signature.")
391412

413+
def test_sslib_signer_errors(self):
414+
# Test basic initialization errors for each keytype
415+
for scheme_dict in self.keys:
392416
# Assert error for invalid private key data
393417
bad_private = copy.deepcopy(scheme_dict)
394418
bad_private["keyval"]["private"] = ""

0 commit comments

Comments
 (0)