[−]Struct openssl::cms::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 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][−]
signcert: Option<&X509Ref>,
pkey: Option<&PKeyRef<T>>,
certs: Option<&StackRef<X509>>,
data: Option<&[u8]>,
flags: CMSOptions
) -> Result<CmsContentInfo, ErrorStack> where
T: HasPrivate,
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
Methods from Deref<Target = CmsContentInfoRef>
pub fn decrypt<T>(
&self,
pkey: &PKeyRef<T>,
cert: &X509
) -> Result<Vec<u8>, ErrorStack> where
T: HasPrivate,
[src][−]
&self,
pkey: &PKeyRef<T>,
cert: &X509
) -> Result<Vec<u8>, ErrorStack> where
T: HasPrivate,
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
Trait Implementations
impl Sync for CmsContentInfo
[src]
impl AsRef<CmsContentInfoRef> for CmsContentInfo
[+]
impl Send for CmsContentInfo
[src]
impl Drop for CmsContentInfo
[+]
impl DerefMut for CmsContentInfo
[+]
impl Deref for CmsContentInfo
[+]
impl Borrow<CmsContentInfoRef> for CmsContentInfo
[+]
impl ForeignType for CmsContentInfo
[+]
Blanket Implementations
impl<T> From for T
[src][−]
impl<T, U> Into for T where
U: From<T>,
[src][−]
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src][−]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
impl<T> Borrow for T where
T: ?Sized,
[src][−]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src][−]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src][−]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src][−]
impl<T> Any for T where
T: 'static + ?Sized,
[src][−]
T: 'static + ?Sized,