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
use base::SecCertificateRef; use base::SecKeyRef; use core_foundation_sys::array::CFArrayRef; use core_foundation_sys::base::{Boolean, CFIndex, CFTypeID, CFTypeRef, OSStatus}; 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; pub fn SecTrustGetCertificateAtIndex(trust: SecTrustRef, ix: CFIndex) -> SecCertificateRef; pub fn SecTrustSetAnchorCertificates( trust: SecTrustRef, anchorCertificates: CFArrayRef, ) -> OSStatus; pub fn SecTrustSetAnchorCertificatesOnly( trust: SecTrustRef, anchorCertificatesOnly: Boolean, ) -> OSStatus; pub fn SecTrustEvaluate(trust: SecTrustRef, result: *mut SecTrustResultType) -> OSStatus; 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; }