security_framework_sys/
policy.rs

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