aboutsummaryrefslogtreecommitdiff
path: root/test/ec/test_signature.py
diff options
context:
space:
mode:
authorJ08nY2019-04-24 19:26:11 +0200
committerJ08nY2019-04-24 19:26:11 +0200
commit2a109ad4502bc7983c9fd4fc29a62b6f028762b0 (patch)
treeab0074015d3e2008fa0071efbfb49f2c224e78c7 /test/ec/test_signature.py
parentf4bcb085cfc9ddac71fe8bb82e8f6719309b2637 (diff)
downloadpyecsca-2a109ad4502bc7983c9fd4fc29a62b6f028762b0.tar.gz
pyecsca-2a109ad4502bc7983c9fd4fc29a62b6f028762b0.tar.zst
pyecsca-2a109ad4502bc7983c9fd4fc29a62b6f028762b0.zip
Diffstat (limited to 'test/ec/test_signature.py')
-rw-r--r--test/ec/test_signature.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/test/ec/test_signature.py b/test/ec/test_signature.py
index 6dc6d9f..d9b306a 100644
--- a/test/ec/test_signature.py
+++ b/test/ec/test_signature.py
@@ -1,8 +1,8 @@
+from hashlib import sha1
from unittest import TestCase
-from hashlib import sha1
-from pyecsca.ec.signature import *
from pyecsca.ec.mult import LTRMultiplier
+from pyecsca.ec.signature import *
from .curves import get_secp128r1
@@ -33,6 +33,25 @@ class SignatureTests(TestCase):
sig = none.sign_data(digest)
assert none.verify_data(sig, digest)
+ def test_cannot(self):
+ ok = ECDSA_NONE(self.mult, add=self.add, pubkey=self.pub, privkey=self.priv)
+ data = b"aaaa"
+ sig = ok.sign_data(data)
+
+ no_priv = ECDSA_NONE(self.mult, pubkey=self.pub)
+ with self.assertRaises(RuntimeError):
+ no_priv.sign_data(data)
+ with self.assertRaises(RuntimeError):
+ no_priv.sign_hash(data)
+ no_pubadd = ECDSA_NONE(self.mult, privkey=self.priv)
+ with self.assertRaises(RuntimeError):
+ no_pubadd.verify_data(sig, data)
+ with self.assertRaises(RuntimeError):
+ no_pubadd.verify_hash(sig, data)
+
+ with self.assertRaises(ValueError):
+ Signature(self.mult)
+
def test_fixed_nonce(self):
for algo in self.algos:
signer = algo(self.mult, privkey=self.priv)