Skip to main content

security/ffi/
policy.rs

1//! Additional raw `SecPolicy.h` declarations.
2
3use super::{CFDictionaryRef, CFOptionFlags, CFStringRef, CFTypeID, CFTypeRef, SecPolicyRef};
4
5pub const kSecRevocationOCSPMethod: CFOptionFlags = 1 << 0;
6pub const kSecRevocationCRLMethod: CFOptionFlags = 1 << 1;
7pub const kSecRevocationPreferCRL: CFOptionFlags = 1 << 2;
8pub const kSecRevocationRequirePositiveResponse: CFOptionFlags = 1 << 3;
9pub const kSecRevocationNetworkAccessDisabled: CFOptionFlags = 1 << 4;
10pub const kSecRevocationUseAnyAvailableMethod: CFOptionFlags =
11    kSecRevocationOCSPMethod | kSecRevocationCRLMethod;
12
13extern "C" {
14    pub static kSecPolicyAppleX509Basic: CFStringRef;
15    pub static kSecPolicyAppleSSL: CFStringRef;
16    pub static kSecPolicyAppleSMIME: CFStringRef;
17    pub static kSecPolicyAppleEAP: CFStringRef;
18    pub static kSecPolicyAppleIPsec: CFStringRef;
19    pub static kSecPolicyApplePKINITClient: CFStringRef;
20    pub static kSecPolicyApplePKINITServer: CFStringRef;
21    pub static kSecPolicyAppleCodeSigning: CFStringRef;
22    pub static kSecPolicyMacAppStoreReceipt: CFStringRef;
23    pub static kSecPolicyAppleIDValidation: CFStringRef;
24    pub static kSecPolicyAppleTimeStamping: CFStringRef;
25    pub static kSecPolicyAppleRevocation: CFStringRef;
26    pub static kSecPolicyApplePassbookSigning: CFStringRef;
27    pub static kSecPolicyApplePayIssuerEncryption: CFStringRef;
28    pub static kSecPolicyAppleSSLServer: CFStringRef;
29    pub static kSecPolicyAppleSSLClient: CFStringRef;
30    pub static kSecPolicyAppleEAPServer: CFStringRef;
31    pub static kSecPolicyAppleEAPClient: CFStringRef;
32    pub static kSecPolicyAppleIPSecServer: CFStringRef;
33    pub static kSecPolicyAppleIPSecClient: CFStringRef;
34    pub static kSecPolicyOid: CFStringRef;
35    pub static kSecPolicyName: CFStringRef;
36    pub static kSecPolicyClient: CFStringRef;
37    pub static kSecPolicyRevocationFlags: CFStringRef;
38    pub static kSecPolicyTeamIdentifier: CFStringRef;
39    pub static kSecPolicyKU_DigitalSignature: CFStringRef;
40    pub static kSecPolicyKU_NonRepudiation: CFStringRef;
41    pub static kSecPolicyKU_KeyEncipherment: CFStringRef;
42    pub static kSecPolicyKU_DataEncipherment: CFStringRef;
43    pub static kSecPolicyKU_KeyAgreement: CFStringRef;
44    pub static kSecPolicyKU_KeyCertSign: CFStringRef;
45    pub static kSecPolicyKU_CRLSign: CFStringRef;
46    pub static kSecPolicyKU_EncipherOnly: CFStringRef;
47    pub static kSecPolicyKU_DecipherOnly: CFStringRef;
48    pub fn SecPolicyGetTypeID() -> CFTypeID;
49    pub fn SecPolicyCopyProperties(policy_ref: SecPolicyRef) -> CFDictionaryRef;
50    pub fn SecPolicyCreateRevocation(revocation_flags: CFOptionFlags) -> SecPolicyRef;
51    pub fn SecPolicyCreateWithProperties(
52        policy_identifier: CFTypeRef,
53        properties: CFDictionaryRef,
54    ) -> SecPolicyRef;
55}