Struct openssl::crypto::pkey::PKey
[-] [+]
[src]
pub struct PKey { // some fields omitted }
Methods
impl PKey
Represents a public key, optionally with a private key attached.
fn new() -> PKey
fn gen(&mut self, keysz: usize)
fn save_pub(&self) -> Vec<u8>
Returns a serialized form of the public key, suitable for load_pub().
fn load_pub(&mut self, s: &[u8])
Loads a serialized form of the public key, as produced by save_pub().
fn save_priv(&self) -> Vec<u8>
Returns a serialized form of the public and private keys, suitable for load_priv().
fn load_priv(&mut self, s: &[u8])
Loads a serialized form of the public and private keys, as produced by save_priv().
fn write_pem<W: Write>(&self, writer: &mut W) -> Result<(), SslError>
Stores private key as a PEM
fn size(&self) -> usize
Returns the size of the public key modulus.
fn can(&self, r: Role) -> bool
Returns whether this pkey object can perform the specified role.
fn max_data(&self) -> usize
Returns the maximum amount of data that can be encrypted by an encrypt() call.
fn encrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> Vec<u8>
fn decrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> Vec<u8>
fn encrypt(&self, s: &[u8]) -> Vec<u8>
Encrypts data using OAEP padding, returning the encrypted data. The supplied data must not be larger than max_data().
fn decrypt(&self, s: &[u8]) -> Vec<u8>
Decrypts data, expecting OAEP padding, returning the decrypted data.
fn sign(&self, s: &[u8]) -> Vec<u8>
Signs data, using OpenSSL's default scheme and sha256. Unlike encrypt(), can process an arbitrary amount of data; returns the signature.
fn verify(&self, m: &[u8], s: &[u8]) -> bool
Verifies a signature s (using OpenSSL's default scheme and sha256) on a message m. Returns true if the signature is valid, and false otherwise.