aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorColleen Murphy <cmurphy@users.noreply.github.com>2016-06-04 09:09:08 -0700
committerPaul Kehrer <paul.l.kehrer@gmail.com>2016-06-04 09:09:08 -0700
commit34d5c39a9c1efa6c2f2c9f473890ebe44816e85a (patch)
tree8009a882571352fbd33ad05ff82c841eb4a0ff2e /tests
parent4f125c122499e21050e46f20a18bbc4848b0f43b (diff)
downloadcryptography-34d5c39a9c1efa6c2f2c9f473890ebe44816e85a.tar.gz
cryptography-34d5c39a9c1efa6c2f2c9f473890ebe44816e85a.tar.bz2
cryptography-34d5c39a9c1efa6c2f2c9f473890ebe44816e85a.zip
Add convenience methods to sign and verify w/ RSA (#2945)
This patch adds wrapper methods to allow the user to sign and verify a single message block without having to go through the multi-step process of creating a signer or verifier, updating it with the one message, and finalizing the result. This will make signing and verifying data more user-friendly when only using small messages. Partial bug #1529
Diffstat (limited to 'tests')
-rw-r--r--tests/hazmat/primitives/test_rsa.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_rsa.py b/tests/hazmat/primitives/test_rsa.py
index c94e0df9..9f3008e3 100644
--- a/tests/hazmat/primitives/test_rsa.py
+++ b/tests/hazmat/primitives/test_rsa.py
@@ -481,6 +481,17 @@ class TestRSASignature(object):
signer.update(b"no failure")
signer.finalize()
+ def test_sign(self, backend):
+ private_key = RSA_KEY_512.private_key(backend)
+ message = b"one little message"
+ pkcs = padding.PKCS1v15()
+ algorithm = hashes.SHA1()
+ signature = private_key.sign(message, pkcs, algorithm)
+ public_key = private_key.public_key()
+ verifier = public_key.verifier(signature, pkcs, algorithm)
+ verifier.update(message)
+ verifier.verify()
+
@pytest.mark.requires_backend_interface(interface=RSABackend)
class TestRSAVerification(object):
@@ -836,6 +847,17 @@ class TestRSAVerification(object):
with pytest.raises(InvalidSignature):
verifier.verify()
+ def test_verify(self, backend):
+ private_key = RSA_KEY_512.private_key(backend)
+ message = b"one little message"
+ pkcs = padding.PKCS1v15()
+ algorithm = hashes.SHA1()
+ signer = private_key.signer(pkcs, algorithm)
+ signer.update(message)
+ signature = signer.finalize()
+ public_key = private_key.public_key()
+ public_key.verify(signature, message, pkcs, algorithm)
+
@pytest.mark.requires_backend_interface(interface=RSABackend)
class TestRSAPSSMGF1Verification(object):