apple_security_sys/
trust_settings.rs

1use crate::base::SecCertificateRef;
2use core_foundation_sys::array::CFArrayRef;
3use core_foundation_sys::base::CFTypeRef;
4use core_foundation_sys::base::OSStatus;
5
6pub type SecTrustSettingsDomain = u32;
7
8pub const kSecTrustSettingsDomainUser: SecTrustSettingsDomain = 0;
9pub const kSecTrustSettingsDomainAdmin: SecTrustSettingsDomain = 1;
10pub const kSecTrustSettingsDomainSystem: SecTrustSettingsDomain = 2;
11
12pub type SecTrustSettingsResult = u32;
13
14pub const kSecTrustSettingsResultInvalid: SecTrustSettingsResult = 0;
15pub const kSecTrustSettingsResultTrustRoot: SecTrustSettingsResult = 1;
16pub const kSecTrustSettingsResultTrustAsRoot: SecTrustSettingsResult = 2;
17pub const kSecTrustSettingsResultDeny: SecTrustSettingsResult = 3;
18pub const kSecTrustSettingsResultUnspecified: SecTrustSettingsResult = 4;
19
20extern "C" {
21    pub fn SecTrustSettingsCopyCertificates(
22        domain: SecTrustSettingsDomain,
23        certsOut: *mut CFArrayRef,
24    ) -> OSStatus;
25    pub fn SecTrustSettingsCopyTrustSettings(
26        certificateRef: SecCertificateRef,
27        domain: SecTrustSettingsDomain,
28        trustSettings: *mut CFArrayRef,
29    ) -> OSStatus;
30    pub fn SecTrustSettingsSetTrustSettings(
31        certificateRef: SecCertificateRef,
32        domain: SecTrustSettingsDomain,
33        trustSettingsDictOrArray: CFTypeRef,
34    ) -> OSStatus;
35}