diff --git a/common/crypto/src/asymmetric/encryption/mod.rs b/common/crypto/src/asymmetric/encryption/mod.rs index cadb5437e4..75ea0b2206 100644 --- a/common/crypto/src/asymmetric/encryption/mod.rs +++ b/common/crypto/src/asymmetric/encryption/mod.rs @@ -81,6 +81,15 @@ impl KeyPair { } } +impl From for KeyPair { + fn from(private_key: PrivateKey) -> Self { + KeyPair { + public_key: (&private_key).into(), + private_key, + } + } +} + impl PemStorableKeyPair for KeyPair { type PrivatePemKey = PrivateKey; type PublicPemKey = PublicKey; diff --git a/common/crypto/src/asymmetric/identity/mod.rs b/common/crypto/src/asymmetric/identity/mod.rs index f65290f907..41afaf67a4 100644 --- a/common/crypto/src/asymmetric/identity/mod.rs +++ b/common/crypto/src/asymmetric/identity/mod.rs @@ -91,6 +91,15 @@ impl KeyPair { } } +impl From for KeyPair { + fn from(private_key: PrivateKey) -> Self { + KeyPair { + public_key: (&private_key).into(), + private_key, + } + } +} + impl PemStorableKeyPair for KeyPair { type PrivatePemKey = PrivateKey; type PublicPemKey = PublicKey;