[][src]Struct openssl::sign::Signer

pub struct Signer<'a> { /* fields omitted */ }

A type which computes cryptographic signatures of data.

Methods

impl<'a> Signer<'a>[src]

pub fn new<T>(
    type_: MessageDigest,
    pkey: &'a PKeyRef<T>
) -> Result<Signer<'a>, ErrorStack> where
    T: HasPrivate
[src]

Creates a new Signer.

OpenSSL documentation at EVP_DigestSignInit.

pub fn new_without_digest<T>(
    pkey: &'a PKeyRef<T>
) -> Result<Signer<'a>, ErrorStack> where
    T: HasPrivate
[src]

Creates a new Signer without a digest.

This can be used to create a CMAC. OpenSSL documentation at EVP_DigestSignInit.

pub fn new_intern<T>(
    type_: Option<MessageDigest>,
    pkey: &'a PKeyRef<T>
) -> Result<Signer<'a>, ErrorStack> where
    T: HasPrivate
[src]

pub fn rsa_padding(&self) -> Result<Padding, ErrorStack>[src]

Returns the RSA padding mode in use.

This is only useful for RSA keys.

This corresponds to EVP_PKEY_CTX_get_rsa_padding.

pub fn set_rsa_padding(&mut self, padding: Padding) -> Result<(), ErrorStack>[src]

Sets the RSA padding mode.

This is only useful for RSA keys.

This corresponds to EVP_PKEY_CTX_set_rsa_padding.

pub fn set_rsa_pss_saltlen(
    &mut self,
    len: RsaPssSaltlen
) -> Result<(), ErrorStack>
[src]

Sets the RSA PSS salt length.

This is only useful for RSA keys.

This corresponds to EVP_PKEY_CTX_set_rsa_pss_saltlen.

pub fn set_rsa_mgf1_md(&mut self, md: MessageDigest) -> Result<(), ErrorStack>[src]

Sets the RSA MGF1 algorithm.

This is only useful for RSA keys.

This corresponds to EVP_PKEY_CTX_set_rsa_mgf1_md.

pub fn update(&mut self, buf: &[u8]) -> Result<(), ErrorStack>[src]

Feeds more data into the Signer.

OpenSSL documentation at EVP_DigestUpdate.

pub fn len(&self) -> Result<usize, ErrorStack>[src]

Computes an upper bound on the signature length.

The actual signature may be shorter than this value. Check the return value of sign to get the exact length.

OpenSSL documentation at EVP_DigestSignFinal.

pub fn sign(&self, buf: &mut [u8]) -> Result<usize, ErrorStack>[src]

Writes the signature into the provided buffer, returning the number of bytes written.

This method will fail if the buffer is not large enough for the signature. Use the len method to get an upper bound on the required size.

OpenSSL documentation at EVP_DigestSignFinal.

pub fn sign_to_vec(&self) -> Result<Vec<u8>, ErrorStack>[src]

Returns the signature.

This is a simple convenience wrapper over len and sign.

Trait Implementations

impl<'a> Drop for Signer<'a>[src]

impl<'a> Sync for Signer<'a>[src]

impl<'a> Send for Signer<'a>[src]

impl<'a> Write for Signer<'a>[src]

fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>
1.36.0
[src]

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0
[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0
[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]