security_framework::trust

Struct SecTrust

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

A type representing a trust evaluation for a certificate.

Implementations§

Source§

impl SecTrust

Source

pub fn create_with_certificates( certs: &[SecCertificate], policies: &[SecPolicy], ) -> Result<Self>

Creates a SecTrustRef that is configured with a certificate chain, for validating that chain against a collection of policies.

Source

pub fn set_trust_verify_date(&mut self, date: &CFDate) -> Result<()>

Sets the date and time against which the certificates in this trust object are verified.

Source

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

Sets additional anchor certificates used to validate trust.

Source

pub fn copy_anchor_certificates() -> Result<Vec<SecCertificate>>

Retrieves the anchor (root) certificates stored by macOS

Source

pub fn set_trust_anchor_certificates_only(&mut self, only: bool) -> Result<()>

If set to true, only the certificates specified by set_anchor_certificates will be trusted, but not globally trusted certificates.

Source

pub fn set_policy(&mut self, policy: &SecPolicy) -> Result<()>

Sets the policy used to evaluate trust.

Source

pub fn set_options(&mut self, options: TrustOptions) -> Result<()>

Sets option flags for customizing evaluation of a trust object.

Source

pub fn get_network_fetch_allowed(&mut self) -> Result<bool>

Indicates whether this trust object is permitted to fetch missing intermediate certificates from the network.

Source

pub fn set_network_fetch_allowed(&mut self, allowed: bool) -> Result<()>

Specifies whether this trust object is permitted to fetch missing intermediate certificates from the network.

Source

pub fn set_trust_ocsp_response<I: Iterator<Item = impl AsRef<[u8]>>>( &mut self, ocsp_response: I, ) -> Result<()>

Attaches Online Certificate Status Protocol (OSCP) response data to this trust object.

Source

pub fn set_signed_certificate_timestamps<I: Iterator<Item = impl AsRef<[u8]>>>( &mut self, scts: I, ) -> Result<()>

Attaches signed certificate timestamp data to this trust object.

Source

pub fn copy_public_key(&mut self) -> Result<SecKey>

Returns the public key for a leaf certificate after it has been evaluated.

Source

pub fn evaluate(&self) -> Result<TrustResult>

👎Deprecated: use evaluate_with_error

Evaluates trust.

Source

pub fn evaluate_with_error(&self) -> Result<(), CFError>

Evaluates trust. Requires macOS 10.14 or iOS, otherwise it just calls evaluate()

Source

pub fn certificate_count(&self) -> CFIndex

Returns the number of certificates in an evaluated certificate chain.

Note: evaluate must first be called on the SecTrust.

Source

pub fn certificate_at_index(&self, ix: CFIndex) -> Option<SecCertificate>

👎Deprecated: deprecated by Apple

Returns a specific certificate from the certificate chain used to evaluate trust.

Note: evaluate must first be called on the SecTrust.

Trait Implementations§

Source§

impl Clone for SecTrust

Source§

fn clone(&self) -> SecTrust

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 Drop for SecTrust

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl PartialEq for SecTrust

Source§

fn eq(&self, other: &SecTrust) -> 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 SecTrust

Source§

type Ref = *mut __SecTrust

The reference type wrapped inside this type.
Source§

fn as_concrete_TypeRef(&self) -> SecTrustRef

Returns the object as its concrete TypeRef.
Source§

unsafe fn wrap_under_get_rule(reference: SecTrustRef) -> 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: SecTrustRef) -> 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<SecTrust> for &'a SecTrust

Source§

impl ToVoid<SecTrust> for SecTrustRef

Source§

impl ToVoid<SecTrust> for SecTrust

Source§

impl ConcreteCFType for SecTrust

Source§

impl Eq for SecTrust

Source§

impl Send for SecTrust

Source§

impl Sync for SecTrust

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.