Skip to content

Commit b9d54a8

Browse files
committed
test coverage for keys module
1 parent a5850f4 commit b9d54a8

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

src/ecdsa/test_keys.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
sigdecode_der,
2525
sigdecode_strings,
2626
)
27-
from .curves import NIST256p
27+
from .curves import NIST256p, Curve, BRAINPOOLP160r1
28+
from .ellipticcurve import Point
29+
from .ecdsa import generator_brainpoolp160r1
2830

2931

3032
class TestVerifyingKeyFromString(unittest.TestCase):
@@ -201,6 +203,17 @@ def test_inequality_on_verifying_keys(self):
201203
def test_inequality_on_verifying_keys_not_implemented(self):
202204
self.assertNotEqual(self.vk, None)
203205

206+
def test_inequality_on_wrong_types(self):
207+
self.assertNotEqual(self.vk, self.sk)
208+
209+
def test_from_public_point_old(self):
210+
pj = self.vk.pubkey.point
211+
point = Point(pj.curve(), pj.x(), pj.y())
212+
213+
vk = VerifyingKey.from_public_point(point, self.vk.curve)
214+
215+
self.assertEqual(vk, self.vk)
216+
204217

205218
class TestSigningKey(unittest.TestCase):
206219
"""
@@ -452,3 +465,26 @@ def test_SigningKey_with_unlikely_value():
452465
vk = sk.verifying_key
453466
sig = sk.sign(b"hello")
454467
assert vk.verify(sig, b"hello")
468+
469+
470+
def test_SigningKey_with_custom_curve_old_point():
471+
generator = generator_brainpoolp160r1
472+
generator = Point(
473+
generator.curve(),
474+
generator.x(),
475+
generator.y(),
476+
generator.order(),
477+
)
478+
479+
curve = Curve(
480+
"BRAINPOOLP160r1",
481+
generator.curve,
482+
generator,
483+
(1, 3, 36, 3, 3, 2, 8, 1, 1, 1),
484+
)
485+
486+
sk = SigningKey.from_secret_exponent(12, curve)
487+
488+
sk2 = SigningKey.from_secret_exponent(12, BRAINPOOLP160r1)
489+
490+
assert sk.privkey == sk2.privkey

0 commit comments

Comments
 (0)