apple_security_sys/
policy.rs

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