pub enum Keypair {
Ed25519(Keypair),
Rsa(Keypair),
Secp256k1(Keypair),
}
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.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.
Implementations§
Source§impl Keypair
impl Keypair
Sourcepub fn generate_ed25519_fixed() -> Keypair
pub fn generate_ed25519_fixed() -> Keypair
Generate a fixed Ed25519 keypair, used for test only.
Sourcepub fn generate_ed25519() -> Keypair
pub fn generate_ed25519() -> Keypair
Generate a new Ed25519 keypair.
Sourcepub fn generate_secp256k1() -> Keypair
pub fn generate_secp256k1() -> Keypair
Generate a new Secp256k1 keypair.
Sourcepub fn rsa_from_pkcs8(pkcs8_der: &mut [u8]) -> Result<Keypair, DecodingError>
pub fn rsa_from_pkcs8(pkcs8_der: &mut [u8]) -> Result<Keypair, DecodingError>
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>
pub fn secp256k1_from_der(der: &mut [u8]) -> Result<Keypair, DecodingError>
Decode a keypair from a DER-encoded Secp256k1 secret key in an ECPrivateKey structure as defined in RFC5915.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Keypair
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