diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-10 13:11:11 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-10 13:11:11 -0600 |
| commit | 01959b16a21b22b5df5f16569c2a8e8f92beecef (patch) | |
| tree | 32afa5d747c5466345c59ec52161a7cba3d6d755 /vendor/security-framework-sys/src/code_signing.rs | |
| parent | ff30574117a996df332e23d1fb6f65259b316b5b (diff) | |
chore: vendor dependencies
Diffstat (limited to 'vendor/security-framework-sys/src/code_signing.rs')
| -rw-r--r-- | vendor/security-framework-sys/src/code_signing.rs | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/vendor/security-framework-sys/src/code_signing.rs b/vendor/security-framework-sys/src/code_signing.rs new file mode 100644 index 00000000..bd4abc76 --- /dev/null +++ b/vendor/security-framework-sys/src/code_signing.rs @@ -0,0 +1,96 @@ +use core_foundation_sys::base::CFTypeID; +use core_foundation_sys::base::OSStatus; +use core_foundation_sys::dictionary::CFDictionaryRef; +use core_foundation_sys::string::CFStringRef; +use core_foundation_sys::url::CFURLRef; + +pub enum OpaqueSecRequirementRef {} +pub type SecRequirementRef = *mut OpaqueSecRequirementRef; + +pub enum OpaqueSecCodeRef {} +pub type SecCodeRef = *mut OpaqueSecCodeRef; + +pub enum OpaqueSecStaticCodeRef {} +pub type SecStaticCodeRef = *mut OpaqueSecStaticCodeRef; + +pub type SecCSFlags = u32; +pub const kSecCSCheckAllArchitectures: SecCSFlags = 1 << 0; +pub const kSecCSDoNotValidateExecutable: SecCSFlags = 1 << 1; +pub const kSecCSDoNotValidateResources: SecCSFlags = 1 << 2; +pub const kSecCSBasicValidateOnly: SecCSFlags = + kSecCSDoNotValidateExecutable | kSecCSDoNotValidateResources; +pub const kSecCSCheckNestedCode: SecCSFlags = 1 << 3; +pub const kSecCSStrictValidate: SecCSFlags = 1 << 4; +pub const kSecCSFullReport: SecCSFlags = 1 << 5; +pub const kSecCSCheckGatekeeperArchitectures: SecCSFlags = (1 << 6) | kSecCSCheckAllArchitectures; +pub const kSecCSRestrictSymlinks: SecCSFlags = 1 << 7; +pub const kSecCSRestrictToAppLike: SecCSFlags = 1 << 8; +pub const kSecCSRestrictSidebandData: SecCSFlags = 1 << 9; +pub const kSecCSUseSoftwareSigningCert: SecCSFlags = 1 << 10; +pub const kSecCSValidatePEH: SecCSFlags = 1 << 11; +pub const kSecCSSingleThreaded: SecCSFlags = 1 << 12; +// 13 - 15 are unused +// This is only available in macOS 11.3: +// pub const kSecCSAllowNetworkAccess: SecCSFlags = 1 << 16; +// 17 - 25 are unused +pub const kSecCSQuickCheck: SecCSFlags = 1 << 26; +pub const kSecCSCheckTrustedAnchors: SecCSFlags = 1 << 27; +pub const kSecCSReportProgress: SecCSFlags = 1 << 28; +pub const kSecCSNoNetworkAccess: SecCSFlags = 1 << 29; +pub const kSecCSEnforceRevocationChecks: SecCSFlags = 1 << 30; +pub const kSecCSConsiderExpiration: SecCSFlags = 1 << 31; + +extern "C" { + pub static kSecGuestAttributeArchitecture: CFStringRef; + pub static kSecGuestAttributeAudit: CFStringRef; + pub static kSecGuestAttributeCanonical: CFStringRef; + pub static kSecGuestAttributeDynamicCode: CFStringRef; + pub static kSecGuestAttributeDynamicCodeInfoPlist: CFStringRef; + pub static kSecGuestAttributeHash: CFStringRef; + pub static kSecGuestAttributeMachPort: CFStringRef; + pub static kSecGuestAttributePid: CFStringRef; + pub static kSecGuestAttributeSubarchitecture: CFStringRef; + + pub fn SecCodeGetTypeID() -> CFTypeID; + pub fn SecStaticCodeGetTypeID() -> CFTypeID; + pub fn SecRequirementGetTypeID() -> CFTypeID; + + pub fn SecCodeCheckValidity( + code: SecCodeRef, + flags: SecCSFlags, + requirement: SecRequirementRef, + ) -> OSStatus; + + pub fn SecCodeCopyGuestWithAttributes( + host: SecCodeRef, + attrs: CFDictionaryRef, + flags: SecCSFlags, + guest: *mut SecCodeRef, + ) -> OSStatus; + + pub fn SecCodeCopyPath( + code: SecStaticCodeRef, + flags: SecCSFlags, + path: *mut CFURLRef, + ) -> OSStatus; + + pub fn SecCodeCopySelf(flags: SecCSFlags, out: *mut SecCodeRef) -> OSStatus; + + pub fn SecRequirementCreateWithString( + text: CFStringRef, + flags: SecCSFlags, + requirement: *mut SecRequirementRef, + ) -> OSStatus; + + pub fn SecStaticCodeCheckValidity( + code: SecStaticCodeRef, + flags: SecCSFlags, + requirement: SecRequirementRef, + ) -> OSStatus; + + pub fn SecStaticCodeCreateWithPath( + path: CFURLRef, + flags: SecCSFlags, + code: *mut SecStaticCodeRef, + ) -> OSStatus; +} |
