1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
use crate::base::SecCertificateRef;
use crate::base::SecKeyRef;
use core_foundation_sys::array::CFArrayRef;
use core_foundation_sys::base::{Boolean, CFIndex, CFTypeID, CFTypeRef, OSStatus};
#[cfg(any(feature = "OSX_10_13", target_os = "ios"))]
use core_foundation_sys::error::CFErrorRef;
pub type SecTrustResultType = u32;
pub const kSecTrustResultInvalid: SecTrustResultType = 0;
pub const kSecTrustResultProceed: SecTrustResultType = 1;
pub const kSecTrustResultDeny: SecTrustResultType = 3;
pub const kSecTrustResultUnspecified: SecTrustResultType = 4;
pub const kSecTrustResultRecoverableTrustFailure: SecTrustResultType = 5;
pub const kSecTrustResultFatalTrustFailure: SecTrustResultType = 6;
pub const kSecTrustResultOtherError: SecTrustResultType = 7;
pub enum __SecTrust {}
pub type SecTrustRef = *mut __SecTrust;
extern "C" {
pub fn SecTrustGetTypeID() -> CFTypeID;
pub fn SecTrustGetCertificateCount(trust: SecTrustRef) -> CFIndex;
#[deprecated(note = "deprecated by Apple")]
pub fn SecTrustGetCertificateAtIndex(trust: SecTrustRef, ix: CFIndex) -> SecCertificateRef;
pub fn SecTrustSetAnchorCertificates(
trust: SecTrustRef,
anchorCertificates: CFArrayRef,
) -> OSStatus;
pub fn SecTrustSetAnchorCertificatesOnly(
trust: SecTrustRef,
anchorCertificatesOnly: Boolean,
) -> OSStatus;
#[cfg(target_os = "macos")]
pub fn SecTrustCopyAnchorCertificates(anchors: *mut CFArrayRef) -> OSStatus;
#[deprecated(note = "deprecated by Apple")]
pub fn SecTrustEvaluate(trust: SecTrustRef, result: *mut SecTrustResultType) -> OSStatus;
#[cfg(any(feature = "OSX_10_13", target_os = "ios"))]
pub fn SecTrustEvaluateWithError(trust: SecTrustRef, error: *mut CFErrorRef) -> bool;
pub fn SecTrustCreateWithCertificates(
certificates: CFTypeRef,
policies: CFTypeRef,
trust: *mut SecTrustRef,
) -> OSStatus;
pub fn SecTrustSetPolicies(trust: SecTrustRef, policies: CFTypeRef) -> OSStatus;
pub fn SecTrustCopyPublicKey(trust: SecTrustRef) -> SecKeyRef;
}