Skip to main content

security_framework_sys/
policy.rs

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