security_framework::cms

Struct CMSEncoder

Source
pub struct CMSEncoder(/* private fields */);
Expand description

A type representing CMS encoder

Implementations§

Source§

impl CMSEncoder

Source

pub fn create() -> Result<Self>

Create a new instance of CMSEncoder

Source

pub fn set_signer_algorithm(&self, digest_algorithm: &str) -> Result<()>

Sets the digest algorithm to use for the signer. Can be one of the predefined constants:

  • CMS_DIGEST_ALGORITHM_SHA1
  • CMS_DIGEST_ALGORITHM_SHA256
Source

pub fn add_signers(&self, signers: &[SecIdentity]) -> Result<()>

Specify signers of the CMS message; implies that the message will be signed

Source

pub fn get_signers(&self) -> Result<Vec<SecIdentity>>

Obtains the array of signers specified with the add_signers function

Source

pub fn add_recipients(&self, recipients: &[SecCertificate]) -> Result<()>

Specifies a message is to be encrypted and specifies the recipients of the message

Source

pub fn get_recipients(&self) -> Result<Vec<SecCertificate>>

Obtains the array of recipients specified with the add_recipients function

Source

pub fn set_has_detached_content(&self, has_detached_content: bool) -> Result<()>

Specifies whether the signed data is to be separate from the message

Source

pub fn get_has_detached_content(&self) -> Result<bool>

Indicates whether the message is to have detached content

Source

pub fn set_encapsulated_content_type_oid(&self, oid: &str) -> Result<()>

Specifies an object identifier for the encapsulated data of a signed message

Source

pub fn get_encapsulated_content_type(&self) -> Result<Vec<u8>>

Obtains the object identifier for the encapsulated data of a signed message

Source

pub fn add_supporting_certs(&self, certs: &[SecCertificate]) -> Result<()>

Adds certificates to a message

Source

pub fn get_supporting_certs(&self) -> Result<Vec<SecCertificate>>

Obtains the certificates added to a message with add_supporting_certs

Source

pub fn add_signed_attributes( &self, signed_attributes: SignedAttributes, ) -> Result<()>

Specifies attributes for a signed message

Source

pub fn set_certificate_chain_mode( &self, certificate_chain_mode: CMSCertificateChainMode, ) -> Result<()>

Specifies which certificates to include in a signed CMS message

Source

pub fn get_certificate_chain_mode(&self) -> Result<CMSCertificateChainMode>

Obtains a constant that indicates which certificates are to be included in a signed CMS message

Source

pub fn update_content(&self, content: &[u8]) -> Result<()>

Feeds content bytes into the encoder

Source

pub fn get_encoded_content(&self) -> Result<Vec<u8>>

Finishes encoding the message and obtains the encoded result

Source

pub fn get_signer_timestamp( &self, signer_index: usize, ) -> Result<CFAbsoluteTime>

Returns the timestamp of a signer of a CMS message, if present

Source

pub fn get_signer_timestamp_with_policy( &self, timestamp_policy: Option<CFStringRef>, signer_index: usize, ) -> Result<CFAbsoluteTime>

Returns the timestamp of a signer of a CMS message using a particular policy, if present

Trait Implementations§

Source§

impl Clone for CMSEncoder

Source§

fn clone(&self) -> CMSEncoder

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CMSEncoder

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for CMSEncoder

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl PartialEq for CMSEncoder

Source§

fn eq(&self, other: &CMSEncoder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TCFType for CMSEncoder

Source§

type Ref = *mut OpaqueCMSEncoderRef

The reference type wrapped inside this type.
Source§

fn as_concrete_TypeRef(&self) -> CMSEncoderRef

Returns the object as its concrete TypeRef.
Source§

unsafe fn wrap_under_get_rule(reference: CMSEncoderRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Get Rule”. The reference count is bumped.
Source§

fn as_CFTypeRef(&self) -> CFTypeRef

Returns the object as a raw CFTypeRef. The reference count is not adjusted.
Source§

unsafe fn wrap_under_create_rule(reference: CMSEncoderRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Create Rule”. The reference count is not bumped.
Source§

fn type_id() -> CFTypeID

Returns the type ID for this class.
Source§

fn as_CFType(&self) -> CFType

Returns the object as a wrapped CFType. The reference count is incremented by one.
Source§

fn into_CFType(self) -> CFType
where Self: Sized,

Returns the object as a wrapped CFType. Consumes self and avoids changing the reference count.
Source§

fn retain_count(&self) -> isize

Returns the reference count of the object. It is unwise to do anything other than test whether the return value of this method is greater than zero.
Source§

fn type_of(&self) -> usize

Returns the type ID of this object.
Source§

fn show(&self)

Writes a debugging version of this object on standard error.
Source§

fn instance_of<OtherCFType>(&self) -> bool
where OtherCFType: TCFType,

Returns true if this value is an instance of another type.
Source§

impl<'a> ToVoid<CMSEncoder> for &'a CMSEncoder

Source§

impl ToVoid<CMSEncoder> for CMSEncoderRef

Source§

impl ToVoid<CMSEncoder> for CMSEncoder

Source§

impl ConcreteCFType for CMSEncoder

Source§

impl Eq for CMSEncoder

Source§

impl Send for CMSEncoder

Source§

impl Sync for CMSEncoder

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromMutVoid for T
where T: TCFType,

Source§

unsafe fn from_mut_void<'a>(x: *mut c_void) -> ItemMutRef<'a, T>

Source§

impl<T> FromVoid for T
where T: TCFType,

Source§

unsafe fn from_void<'a>(x: *const c_void) -> ItemRef<'a, T>

Source§

impl<T, U> Into<U> for T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.