apple_security_framework_sys/
policy.rs

1use core_foundation_sys::base::Boolean;
2#[cfg(any(feature = "OSX_10_9", target_os = "ios"))]
3use core_foundation_sys::base::CFOptionFlags;
4use core_foundation_sys::base::CFTypeID;
5use core_foundation_sys::string::CFStringRef;
6
7use crate::base::SecPolicyRef;
8
9#[cfg(any(feature = "OSX_10_9", target_os = "ios"))]
10mod revocation_flags {
11    use super::CFOptionFlags;
12
13    pub const kSecRevocationOCSPMethod: CFOptionFlags = 1 << 0;
14    pub const kSecRevocationCRLMethod: CFOptionFlags = 1 << 1;
15    pub const kSecRevocationPreferCRL: CFOptionFlags = 1 << 2;
16    pub const kSecRevocationRequirePositiveResponse: CFOptionFlags = 1 << 3;
17    pub const kSecRevocationNetworkAccessDisabled: CFOptionFlags = 1 << 4;
18    pub const kSecRevocationUseAnyAvailableMethod: CFOptionFlags =
19        kSecRevocationOCSPMethod | kSecRevocationCRLMethod;
20}
21
22#[cfg(any(feature = "OSX_10_9", target_os = "ios"))]
23pub use revocation_flags::*;
24
25extern "C" {
26    pub fn SecPolicyCreateSSL(server: Boolean, hostname: CFStringRef) -> SecPolicyRef;
27    #[cfg(any(feature = "OSX_10_9", target_os = "ios"))]
28    pub fn SecPolicyCreateRevocation(revocationFlags: CFOptionFlags) -> SecPolicyRef;
29    pub fn SecPolicyGetTypeID() -> CFTypeID;
30    pub fn SecPolicyCreateBasicX509() -> SecPolicyRef;
31}