Struct ssb_crypto::Keypair[][src]

#[repr(C)]
pub struct Keypair { pub secret: SecretKey, pub public: PublicKey, }
Expand description

A public/secret long-term key pair.

This is an Ed25519 key pair.

Fields

secret: SecretKey

The secret half of the key pair. Keep private.

public: PublicKey

The public half of the key pair. Feel free to share.

Implementations

Size of a key pair, in bytes (== 64).

Deserialize a keypair from a byte slice.

The slice length must be 64; where the first 32 bytes are the secret key, and the second 32 bytes are the public key (libsodium’s standard layout).

Deserialize from the bas64 representation. Ignores optional .ed25519 suffix.

Example

let s = "R6DKoOCt1Cj/IB2/ocvj2Eyp8AgmFdoJ9hH2TO4Tl8Yfapd5Lmw4pSpoY0WBEnqpHjz6UB4/QL2Wr0hWVAyi1w==.ed25519";
if let Some(keypair) = ssb_crypto::Keypair::from_base64(s) {
  // let auth = keypair.sign("hello".to_bytes());
  // ...
} else {
    panic!()
}

Does not include “.ed25519” suffix or a sigil prefix.

Example

let s = "R6DKoOCt1Cj/IB2/ocvj2Eyp8AgmFdoJ9hH2TO4Tl8Yfapd5Lmw4pSpoY0WBEnqpHjz6UB4/QL2Wr0hWVAyi1w==";
let kp = ssb_crypto::Keypair::from_base64(s).unwrap();
assert_eq!(kp.as_base64(), s);

Generate a new random keypair.

Create a keypair from the given seed bytes. Slice length must be 32.

Generate a new random keypair using the given cryptographically-secure random number generator.

Generate a signature for a given byte slice.

Trait Implementations

Get the bytes of this value. Read more

Get the bytes of this value mutably. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.