[][src]Enum libp2p::identity::Keypair

pub enum Keypair {
    Ed25519(Keypair),
    Rsa(Keypair),
    Secp256k1(Keypair),
}

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.pem").unwrap();
let keypair = Keypair::rsa_from_pkcs8(&mut bytes);

Variants

Ed25519(Keypair)

An Ed25519 keypair.

Rsa(Keypair)

An RSA keypair.

Secp256k1(Keypair)

A Secp256k1 keypair.

Methods

impl Keypair[src]

pub fn generate_ed25519() -> Keypair[src]

Generate a new Ed25519 keypair.

pub fn generate_secp256k1() -> Keypair[src]

Generate a new Secp256k1 keypair.

pub fn rsa_from_pkcs8(pkcs8_der: &mut [u8]) -> Result<Keypair, DecodingError>[src]

Decode an keypair from a DER-encoded secret key in PKCS#8 PrivateKeyInfo format (i.e. unencrypted) as defined in RFC5208.

pub fn secp256k1_from_der(der: &mut [u8]) -> Result<Keypair, DecodingError>[src]

Decode a keypair from a DER-encoded Secp256k1 secret key in an ECPrivateKey structure as defined in RFC5915.

pub fn sign(&self, msg: &[u8]) -> Result<Vec<u8>, SigningError>[src]

Sign a message using the private key of this keypair, producing a signature that can be verified using the corresponding public key.

pub fn public(&self) -> PublicKey[src]

Get the public key of this keypair.

Trait Implementations

impl Clone for Keypair[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Sync for Keypair

impl Send for Keypair

impl Unpin for Keypair

impl RefUnwindSafe for Keypair

impl UnwindSafe for Keypair

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Erased for T

impl<T> Erased for T