[−]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 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]
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
pub fn encrypt(
certs: &StackRef<X509>,
data: &[u8],
cipher: Cipher,
flags: CMSOptions
) -> Result<CmsContentInfo, ErrorStack>
[src]
certs: &StackRef<X509>,
data: &[u8],
cipher: Cipher,
flags: CMSOptions
) -> Result<CmsContentInfo, ErrorStack>
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]
&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
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
fn drop(&mut self)
impl Sync for CmsContentInfo
[src]
impl AsRef<CmsContentInfoRef> for CmsContentInfo
fn as_ref(&self) -> &CmsContentInfoRef
impl DerefMut for CmsContentInfo
fn deref_mut(&mut self) -> &mut CmsContentInfoRef
impl Deref for CmsContentInfo
type Target = CmsContentInfoRef
The resulting type after dereferencing.
fn deref(&self) -> &CmsContentInfoRef
impl Borrow<CmsContentInfoRef> for CmsContentInfo
fn borrow(&self) -> &CmsContentInfoRef
impl ForeignType for CmsContentInfo
type CType = CMS_ContentInfo
The raw C type.
type Ref = CmsContentInfoRef
The type representing a reference to this type.
unsafe fn from_ptr(ptr: *mut CMS_ContentInfo) -> CmsContentInfo
fn as_ptr(&self) -> *mut CMS_ContentInfo
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]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
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, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,