# openssl::envelope - Rust
API documentation for the Rust `envelope` mod in crate `openssl`.
Keywords: rust, rustlang, rust-lang, envelope

# Module openssl::envelope [−] [src]

Envelope encryption.

# Example

    use openssl::rsa::Rsa;
    use openssl::envelope::Seal;
    use openssl::pkey::PKey;
    use openssl::symm::Cipher;

    let rsa = Rsa::generate(2048).unwrap();
    let key = PKey::from_rsa(rsa).unwrap();

    let cipher = Cipher::aes_256_cbc();
    let mut seal = Seal::new(cipher, &[key]).unwrap();

    let secret = b"My secret message";
    let mut encrypted = vec![0; secret.len() + cipher.block_size()];

    let mut enc_len = seal.update(secret, &mut encrypted).unwrap();
    enc_len += seal.finalize(&mut encrypted[enc_len..]).unwrap();
    encrypted.truncate(enc_len);

## Structs

Open | Represents an EVP_Open context.
Seal | Represents an EVP_Seal context.