Skip to main content

security_framework_sys/
trust_settings.rs

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