apple_security_framework_sys/
trust_settings.rs

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