def test_key_serialization(self): """ a serialized+deserialized keypair is the same as the original """ private_key, public_key = ed25519.create_signing_keypair() private_key_str = ed25519.string_from_signing_key(private_key) self.assertIsInstance(private_key_str, native_bytes) private_key2, public_key2 = ed25519.signing_keypair_from_string( private_key_str) # the deserialized signing keys are the same as the original self.assertEqual( ed25519.string_from_signing_key(private_key), ed25519.string_from_signing_key(private_key2), ) self.assertEqual( ed25519.string_from_verifying_key(public_key), ed25519.string_from_verifying_key(public_key2), ) # ditto, but for the verifying keys public_key_str = ed25519.string_from_verifying_key(public_key) self.assertIsInstance(public_key_str, native_bytes) public_key2 = ed25519.verifying_key_from_string(public_key_str) self.assertEqual( ed25519.string_from_verifying_key(public_key), ed25519.string_from_verifying_key(public_key2), )
def derive_pubkey(options): out = options.stdout from allmydata.crypto import ed25519 privkey_vs = options.privkey private_key, public_key = ed25519.signing_keypair_from_string(privkey_vs) print("private:", ed25519.string_from_signing_key(private_key), file=out) print("public:", ed25519.string_from_verifying_key(public_key), file=out) return 0
def print_keypair(options): from allmydata.crypto import ed25519 out = options.stdout private_key, public_key = ed25519.create_signing_keypair() print("private:", str(ed25519.string_from_signing_key(private_key), "ascii"), file=out) print("public:", str(ed25519.string_from_verifying_key(public_key), "ascii"), file=out)
def _make_key(): private_key, _ = ed25519.create_signing_keypair() # Config values are always unicode: return unicode( ed25519.string_from_signing_key(private_key) + b"\n", "utf-8")
def _make_key(): private_key, _ = ed25519.create_signing_keypair() return ed25519.string_from_signing_key(private_key) + "\n"