pub struct CmsContentInfoRef(/* private fields */);
Expand description

Reference to CMSContentInfo

Implementations§

source§

impl CmsContentInfoRef

source

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

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

This corresponds to CMS_decrypt.

source

pub fn decrypt_without_cert_check<T>( &self, pkey: &PKeyRef<T> ) -> Result<Vec<u8>, ErrorStack>where T: HasPrivate,

Given the sender’s private key, pkey, decrypt the data in self without validating the recipient certificate.

Warning: Not checking the recipient certificate may leave you vulnerable to Bleichenbacher’s attack on PKCS#1 v1.5 RSA padding.

This corresponds to CMS_decrypt.

source

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

Serializes this CmsContentInfo using DER.

This corresponds to i2d_CMS_ContentInfo.

source

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

Serializes this CmsContentInfo using DER.

This corresponds to PEM_write_bio_CMS.

Trait Implementations§

source§

impl AsRef<CmsContentInfoRef> for CmsContentInfo

source§

fn as_ref(&self) -> &CmsContentInfoRef

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Borrow<CmsContentInfoRef> for CmsContentInfo

source§

fn borrow(&self) -> &CmsContentInfoRef

Immutably borrows from an owned value. Read more
source§

impl ForeignTypeRef for CmsContentInfoRef

§

type CType = CMS_ContentInfo

The raw C type.
source§

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

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

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

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

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

Returns a raw pointer to the wrapped value.
source§

impl Send for CmsContentInfoRef

source§

impl Sync for CmsContentInfoRef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.