Skip to main content

Module protected

Module protected 

Source
Available on crate feature protected only.
Expand description

§Protected memory for SigningKeyPair and SignedMessage

§Example

use dryoc::sign::SigningKeyPair;
use dryoc::sign::protected::*;

// Generate a random keypair, using default types
let keypair = SigningKeyPair::generate_locked_keypair().expect("keypair generate failed");
let message = Message::from_slice_into_locked(
    b"Fair is foul, and foul is fair: Hover through the fog and filthy air.",
)
.expect("message lock failed");

// Sign the message, using default types (stack-allocated byte array, Vec<u8>)
let signed_message: LockedSignedMessage = keypair.sign(message);

// Verify the message signature
signed_message
    .verify(&keypair.public_key)
    .expect("verification failed");

// A keypair in locked, read-only memory signs the same way.
let readonly_keypair = LockedROSigningKeyPair::generate_readonly_locked_keypair()
    .expect("keypair generate failed");
let message = Message::from_slice_into_locked(b"By the pricking of my thumbs")
    .expect("message lock failed");
let signed_message: LockedSignedMessage = readonly_keypair.sign(message);
signed_message
    .verify(&readonly_keypair.public_key)
    .expect("verification failed");

Re-exports§

pub use crate::protected::*;

Type Aliases§

LockedROSigningKeyPair
Heap-allocated, page-aligned public/secret keypair for message signing, in locked, read-only memory, for use with protected memory.
LockedSignedMessage
Heap-allocated, page-aligned signed message, for use with protected memory.
LockedSigningKeyPair
Heap-allocated, page-aligned public/secret keypair for message signing, for use with protected memory.
Message
Heap-allocated, page-aligned message for signed messages, for use with protected memory.
PublicKey
Heap-allocated, page-aligned public-key for signed messages, for use with protected memory.
SecretKey
Heap-allocated, page-aligned secret-key for signed messages, for use with protected memory.
Seed
Heap-allocated, page-aligned seed for signed messages, for use with protected memory.
Signature
Heap-allocated, page-aligned signature for signed messages, for use with protected memory.