[]Struct openssl::pkcs7::Pkcs7Ref

pub struct Pkcs7Ref(_);
[]

Reference to Pkcs7

Methods

impl Pkcs7Ref[src][]

pub fn to_smime(
    &self,
    input: &[u8],
    flags: Pkcs7Flags
) -> Result<Vec<u8>, ErrorStack>
[src][]

Converts PKCS#7 structure to S/MIME format

This corresponds to SMIME_write_PKCS7.

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

Serializes the data into a PEM-encoded PKCS#7 structure.

The output will have a header of -----BEGIN PKCS7-----.

This corresponds to PEM_write_bio_PKCS7.

pub fn decrypt<PT>(
    &self,
    pkey: &PKeyRef<PT>,
    cert: &X509Ref,
    flags: Pkcs7Flags
) -> Result<Vec<u8>, ErrorStack> where
    PT: HasPrivate
[src][]

Decrypts data using the provided private key.

pkey is the recipient's private key, and cert is the recipient's certificate.

Returns the decrypted message.

This corresponds to PKCS7_decrypt.

pub fn verify(
    &self,
    certs: &StackRef<X509>,
    store: &X509StoreRef,
    indata: Option<&[u8]>,
    out: Option<&mut Vec<u8>>,
    flags: Pkcs7Flags
) -> Result<(), ErrorStack>
[src][]

Verifies the PKCS#7 signedData structure contained by &self.

certs is a set of certificates in which to search for the signer's certificate. store is a trusted certificate store (used for chain verification). indata is the signed data if the content is not present in &self. The content is written to out if it is not None.

This corresponds to PKCS7_verify.

Trait Implementations

impl Sync for Pkcs7Ref[src]

impl AsRef<Pkcs7Ref> for Pkcs7[+]

impl Send for Pkcs7Ref[src]

impl Borrow<Pkcs7Ref> for Pkcs7[+]

impl ForeignTypeRef for Pkcs7Ref[+]

type CType = PKCS7

The raw C type.

unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self[src][]

Constructs a shared instance of this type from its raw type.

unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self[src][]

Constructs a mutable reference of this type from its raw type.

fn as_ptr(&self) -> *mut Self::CType[src][]

Returns a raw pointer to the wrapped value.

Blanket Implementations

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

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

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

type Error = !

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

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.

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