def test_public_key(self): p521 = _curves['p521'] point = EccPoint(p521.Gx, p521.Gy, 'p521') key = EccKey(curve="P-384", point=point) self.failIf(key.has_private()) self.assertEqual(key.pointQ, point)
def test_private_key(self): p384 = _curves['p384'] key = EccKey(curve="P-384", d=1) self.assertEqual(key.d, 1) self.failUnless(key.has_private()) self.assertEqual(key.pointQ.x, p384.Gx) self.assertEqual(key.pointQ.y, p384.Gy) point = EccPoint(p384.Gx, p384.Gy, "p384") key = EccKey(curve="P-384", d=1, point=point) self.assertEqual(key.d, 1) self.failUnless(key.has_private()) self.assertEqual(key.pointQ, point) # Other names key = EccKey(curve="p384", d=1) key = EccKey(curve="secp384r1", d=1) key = EccKey(curve="prime384v1", d=1)
def test_private_key(self): p521 = _curves['p521'] key = EccKey(curve="P-521", d=1) self.assertEqual(key.d, 1) self.failUnless(key.has_private()) self.assertEqual(key.pointQ.x, p521.Gx) self.assertEqual(key.pointQ.y, p521.Gy) point = EccPoint(p521.Gx, p521.Gy, "p521") key = EccKey(curve="P-521", d=1, point=point) self.assertEqual(key.d, 1) self.failUnless(key.has_private()) self.assertEqual(key.pointQ, point) # Other names key = EccKey(curve="p521", d=1) key = EccKey(curve="secp521r1", d=1) key = EccKey(curve="prime521v1", d=1)
def test_private_key(self): key = EccKey(curve="P-256", d=1) self.assertEqual(key.d, 1) self.assertTrue(key.has_private()) self.assertEqual(key.pointQ.x, _curve.Gx) self.assertEqual(key.pointQ.y, _curve.Gy) point = EccPoint(_curve.Gx, _curve.Gy) key = EccKey(curve="P-256", d=1, point=point) self.assertEqual(key.d, 1) self.assertTrue(key.has_private()) self.assertEqual(key.pointQ, point) # Other names key = EccKey(curve="secp256r1", d=1) key = EccKey(curve="prime256v1", d=1)
def test_public_key(self): point = EccPoint(_curves['p224'].Gx, _curves['p224'].Gy, curve='P-224') key = EccKey(curve="P-224", point=point) self.assertFalse(key.has_private()) self.assertEqual(key.pointQ, point)
def test_invalid_curve(self): self.assertRaises(ValueError, lambda: EccKey(curve="P-522", d=1))
def test_invalid_seed(self): self.assertRaises(ValueError, lambda: EccKey(curve="ed25519", seed=b'H' * 31))
def test_public_key_derived(self): priv_key = EccKey(curve="P-521", d=3) pub_key = priv_key.public_key() self.failIf(pub_key.has_private()) self.assertEqual(priv_key.pointQ, pub_key.pointQ)
def test_public_key_derived(self): priv_key = EccKey(curve="ed25519", seed=b'H'*32) pub_key = priv_key.public_key() self.assertFalse(pub_key.has_private()) self.assertEqual(priv_key.pointQ, pub_key.pointQ)
def test_invalid_d(self): self.assertRaises(ValueError, lambda: EccKey(curve="P-384", d=0)) self.assertRaises( ValueError, lambda: EccKey(curve="P-384", d=_curves['p384'].order))
def serialize_public_key(public_key: ECC.EccKey): return public_key.export_key(format='DER')
def test_public_key(self): point = EccPoint(_curve.Gx, _curve.Gy) key = EccKey(curve="P-256", point=point) self.assertFalse(key.has_private()) self.assertEqual(key.pointQ, point)
def get_ec_private_key_bytes(key: EccKey) -> bytes: assert key.has_private() modulus_bytes = key.pointQ.size_in_bytes() return key.d.to_bytes(modulus_bytes, "big")
def exportKeyToFileEncrypted(key: ECC.EccKey, path, password): with open(path, "wt") as file: file.write( key.export_key(format="PEM", passphrase=password, protection="PBKDF2WithHMAC-SHA1AndAES128-CBC"))
def exportKeyToFile(key: ECC.EccKey, path): with open(path, "wt") as file: file.write(key.export_key(format="PEM"))
def __init__(self, key: ECC.EccKey, verify_only=False): self._key = key if not verify_only: assert key.has_private()
def test_public_key(self): point = EccPoint(_curves['p256'].Gx, _curves['p256'].Gy) key = EccKey(curve="P-256", point=point) self.failIf(key.has_private()) self.assertEqual(key.pointQ, point)
def test_public_key_derived(self): priv_key = EccKey(curve="P-256", d=3) pub_key = priv_key.public_key() self.assertFalse(pub_key.has_private()) self.assertEqual(priv_key.pointQ, pub_key.pointQ)
def test_public_key(self): point = EccPoint(_curves['ed25519'].Gx, _curves['ed25519'].Gy, curve='ed25519') key = EccKey(curve="ed25519", point=point) self.assertFalse(key.has_private()) self.assertEqual(key.pointQ, point)