Enum libp2p_identity::Keypair
source · pub enum Keypair {
Ed25519(Keypair),
Rsa(Keypair),
Secp256k1(Keypair),
Ecdsa(Keypair),
}
Available on crate features
ecdsa
or secp256k1
or ed25519
or rsa
only.Expand description
Identity keypair of a node.
Example: Generating RSA keys with OpenSSL
openssl genrsa -out private.pem 2048
openssl pkcs8 -in private.pem -inform PEM -topk8 -out private.pk8 -outform DER -nocrypt
rm private.pem # optional
Loading the keys:
let mut bytes = std::fs::read("private.pk8").unwrap();
let keypair = Keypair::rsa_from_pkcs8(&mut bytes);
Variants§
Ed25519(Keypair)
👎Deprecated since 0.1.0: This enum will be made opaque in the future, use
Keypair::try_into_ed25519
instead.Available on crate feature
ed25519
only.An Ed25519 keypair.
Rsa(Keypair)
👎Deprecated since 0.1.0: This enum will be made opaque in the future, use
Keypair::try_into_rsa
instead.Available on crate feature
rsa
and non-WebAssembly only.An RSA keypair.
Secp256k1(Keypair)
👎Deprecated since 0.1.0: This enum will be made opaque in the future, use
Keypair::try_into_secp256k1
instead.Available on crate feature
secp256k1
only.A Secp256k1 keypair.
Ecdsa(Keypair)
👎Deprecated since 0.1.0: This enum will be made opaque in the future, use
Keypair::try_into_ecdsa
instead.Available on crate feature
ecdsa
only.An ECDSA keypair.
Implementations§
source§impl Keypair
impl Keypair
sourcepub fn generate_ed25519() -> Keypair
Available on crate feature ed25519
only.
pub fn generate_ed25519() -> Keypair
ed25519
only.Generate a new Ed25519 keypair.
sourcepub fn generate_secp256k1() -> Keypair
Available on crate feature secp256k1
only.
pub fn generate_secp256k1() -> Keypair
secp256k1
only.Generate a new Secp256k1 keypair.
sourcepub fn generate_ecdsa() -> Keypair
Available on crate feature ecdsa
only.
pub fn generate_ecdsa() -> Keypair
ecdsa
only.Generate a new ECDSA keypair.
pub fn into_ed25519(self) -> Option<Keypair>
👎Deprecated: This method name does not follow Rust naming conventions, use
Keypair::try_into_ed25519
instead.Available on crate feature
ed25519
only.pub fn try_into_ed25519(self) -> Result<Keypair, OtherVariantError>
Available on crate feature
ed25519
only.pub fn into_secp256k1(self) -> Option<Keypair>
👎Deprecated: This method name does not follow Rust naming conventions, use
Keypair::try_into_secp256k1
instead.Available on crate feature
secp256k1
only.pub fn try_into_secp256k1(self) -> Result<Keypair, OtherVariantError>
Available on crate feature
secp256k1
only.pub fn into_rsa(self) -> Option<Keypair>
👎Deprecated: This method name does not follow Rust naming conventions, use
Keypair::try_into_rsa
instead.Available on crate feature
rsa
and non-WebAssembly only.pub fn try_into_rsa(self) -> Result<Keypair, OtherVariantError>
Available on crate feature
rsa
and non-WebAssembly only.pub fn into_ecdsa(self) -> Option<Keypair>
👎Deprecated: This method name does not follow Rust naming conventions, use
Keypair::try_into_ecdsa
instead.Available on crate feature
ecdsa
only.pub fn try_into_ecdsa(self) -> Result<Keypair, OtherVariantError>
Available on crate feature
ecdsa
only.sourcepub fn rsa_from_pkcs8(pkcs8_der: &mut [u8]) -> Result<Keypair, DecodingError>
Available on crate feature rsa
and non-WebAssembly only.
pub fn rsa_from_pkcs8(pkcs8_der: &mut [u8]) -> Result<Keypair, DecodingError>
rsa
and non-WebAssembly only.Decode an keypair from a DER-encoded secret key in PKCS#8 PrivateKeyInfo format (i.e. unencrypted) as defined in RFC5208.
sourcepub fn secp256k1_from_der(der: &mut [u8]) -> Result<Keypair, DecodingError>
Available on crate feature secp256k1
only.
pub fn secp256k1_from_der(der: &mut [u8]) -> Result<Keypair, DecodingError>
secp256k1
only.Decode a keypair from a DER-encoded Secp256k1 secret key in an ECPrivateKey structure as defined in RFC5915.
pub fn ed25519_from_bytes( bytes: impl AsMut<[u8]> ) -> Result<Keypair, DecodingError>
Available on crate feature
ed25519
only.sourcepub fn sign(&self, msg: &[u8]) -> Result<Vec<u8>, SigningError>
pub fn sign(&self, msg: &[u8]) -> Result<Vec<u8>, SigningError>
Sign a message using the private key of this keypair, producing a signature that can be verified using the corresponding public key.
sourcepub fn to_protobuf_encoding(&self) -> Result<Vec<u8>, DecodingError>
pub fn to_protobuf_encoding(&self) -> Result<Vec<u8>, DecodingError>
Encode a private key as protobuf structure.
sourcepub fn from_protobuf_encoding(bytes: &[u8]) -> Result<Keypair, DecodingError>
pub fn from_protobuf_encoding(bytes: &[u8]) -> Result<Keypair, DecodingError>
Decode a private key from a protobuf structure and parse it as a Keypair
.
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Keypair
impl Send for Keypair
impl Sync for Keypair
impl Unpin for Keypair
impl UnwindSafe for Keypair
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more