[]Struct openssl::cms::CmsContentInfo

pub struct CmsContentInfo(_);

High level CMS wrapper

CMS supports nesting various types of data, including signatures, certificates, encrypted data, smime messages (encrypted email), and data digest. The ContentInfo content type is the encapsulation of all those content types. RFC 5652 describes CMS and OpenSSL follows this RFC's implmentation.

Methods

impl CmsContentInfo[src]

pub fn smime_read_cms(smime: &[u8]) -> Result<CmsContentInfo, ErrorStack>[src]

Parses a smime formatted vec of bytes into a CmsContentInfo.

OpenSSL documentation at SMIME_read_CMS

pub fn from_der(der: &[u8]) -> Result<CmsContentInfo, ErrorStack>[src]

Deserializes a DER-encoded ContentInfo structure.

This corresponds to d2i_CMS_ContentInfo.

pub fn from_pem(pem: &[u8]) -> Result<CmsContentInfo, ErrorStack>[src]

Deserializes a PEM-encoded ContentInfo structure.

This corresponds to PEM_read_bio_CMS.

pub fn sign<T>(
    signcert: Option<&X509Ref>,
    pkey: Option<&PKeyRef<T>>,
    certs: Option<&StackRef<X509>>,
    data: Option<&[u8]>,
    flags: CMSOptions
) -> Result<CmsContentInfo, ErrorStack> where
    T: HasPrivate
[src]

Given a signing cert signcert, private key pkey, a certificate stack certs, data data and flags flags, create a CmsContentInfo struct.

All arguments are optional.

OpenSSL documentation at CMS_sign

pub fn encrypt(
    certs: &StackRef<X509>,
    data: &[u8],
    cipher: Cipher,
    flags: CMSOptions
) -> Result<CmsContentInfo, ErrorStack>
[src]

Given a certificate stack certs, data data, cipher cipher and flags flags, create a CmsContentInfo struct.

OpenSSL documentation at CMS_encrypt

Methods from Deref<Target = CmsContentInfoRef>

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

Given the sender's private key, pkey and the recipient's certificiate, cert, decrypt the data in self.

OpenSSL documentation at CMS_decrypt

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

Serializes this CmsContentInfo using DER.

OpenSSL documentation at i2d_CMS_ContentInfo

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

Serializes this CmsContentInfo using DER.

OpenSSL documentation at PEM_write_bio_CMS

Trait Implementations

impl Send for CmsContentInfo[src]

impl Drop for CmsContentInfo

impl Sync for CmsContentInfo[src]

impl AsRef<CmsContentInfoRef> for CmsContentInfo

impl DerefMut for CmsContentInfo

impl Deref for CmsContentInfo

type Target = CmsContentInfoRef

The resulting type after dereferencing.

impl Borrow<CmsContentInfoRef> for CmsContentInfo

impl ForeignType for CmsContentInfo

type CType = CMS_ContentInfo

The raw C type.

type Ref = CmsContentInfoRef

The type representing a reference to this type.

Auto Trait Implementations

impl Unpin for CmsContentInfo

impl UnwindSafe for CmsContentInfo

impl RefUnwindSafe for CmsContentInfo

Blanket Implementations

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

impl<T> From<T> for 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]