summaryrefslogtreecommitdiff
path: root/vendor/security-framework-sys/src/import_export.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-15 16:37:08 -0600
committermo khan <mo@mokhan.ca>2025-07-17 16:30:22 -0600
commit45df4d0d9b577fecee798d672695fe24ff57fb1b (patch)
tree1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/security-framework-sys/src/import_export.rs
parentf94f79608393d4ab127db63cc41668445ef6b243 (diff)
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based authorization system with SpiceDB's relation-based authorization. Key changes: - Migrate from Rust to Go implementation - Replace Cedar policies with SpiceDB schema and relationships - Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks - Update build system and dependencies for Go ecosystem - Maintain Envoy integration for external authorization This change enables more flexible permission modeling through SpiceDB's Google Zanzibar inspired relation-based system, supporting complex hierarchical permissions that were difficult to express in Cedar. Breaking change: Existing Cedar policies and Rust-based configuration will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/security-framework-sys/src/import_export.rs')
-rw-r--r--vendor/security-framework-sys/src/import_export.rs86
1 files changed, 0 insertions, 86 deletions
diff --git a/vendor/security-framework-sys/src/import_export.rs b/vendor/security-framework-sys/src/import_export.rs
deleted file mode 100644
index cd32f571..00000000
--- a/vendor/security-framework-sys/src/import_export.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-use core_foundation_sys::array::CFArrayRef;
-#[cfg(target_os = "macos")]
-use core_foundation_sys::base::CFTypeRef;
-use core_foundation_sys::base::OSStatus;
-use core_foundation_sys::data::CFDataRef;
-use core_foundation_sys::dictionary::CFDictionaryRef;
-use core_foundation_sys::string::CFStringRef;
-#[cfg(target_os = "macos")]
-use std::os::raw::c_uint;
-
-#[cfg(target_os = "macos")]
-use crate::base::{SecAccessRef, SecKeychainRef};
-
-#[cfg(target_os = "macos")]
-pub type SecExternalFormat = u32;
-#[cfg(target_os = "macos")]
-pub type SecExternalItemType = u32;
-#[cfg(target_os = "macos")]
-pub type SecItemImportExportFlags = u32;
-#[cfg(target_os = "macos")]
-pub type SecKeyImportExportFlags = u32;
-
-#[cfg(target_os = "macos")]
-pub const kSecKeyImportOnlyOne: SecKeyImportExportFlags = 1;
-#[cfg(target_os = "macos")]
-pub const kSecKeySecurePassphrase: SecKeyImportExportFlags = 2;
-#[cfg(target_os = "macos")]
-pub const kSecKeyNoAccessControl: SecKeyImportExportFlags = 4;
-
-#[cfg(target_os = "macos")]
-pub const SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION: c_uint = 0;
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[cfg(target_os = "macos")]
-pub struct SecItemImportExportKeyParameters {
- pub version: c_uint,
- pub flags: SecKeyImportExportFlags,
- pub passphrase: CFTypeRef,
- pub alertTitle: CFStringRef,
- pub alertPrompt: CFStringRef,
- pub accessRef: SecAccessRef,
- pub keyUsage: CFArrayRef,
- pub keyAttributes: CFArrayRef,
-}
-
-extern "C" {
- #[cfg(target_os = "macos")]
- pub fn SecItemImport(
- importedData: CFDataRef,
- fileNameOrExtension: CFStringRef,
- inputFormat: *mut SecExternalFormat,
- itemType: *mut SecExternalItemType,
- flags: SecItemImportExportFlags,
- keyParams: *const SecItemImportExportKeyParameters,
- importKeychain: SecKeychainRef,
- outItems: *mut CFArrayRef,
- ) -> OSStatus;
-
- #[cfg(target_os = "macos")]
- pub fn SecItemExport(
- secItemOrArray: CFTypeRef,
- outputFormat: SecExternalFormat,
- flags: SecItemImportExportFlags,
- keyParams: *const SecItemImportExportKeyParameters,
- exportedData: *mut CFDataRef,
- ) -> OSStatus;
-
- pub static kSecImportExportPassphrase: CFStringRef;
- #[cfg(target_os = "macos")]
- pub static kSecImportExportKeychain: CFStringRef;
- #[cfg(target_os = "macos")]
- pub static kSecImportExportAccess: CFStringRef;
-
- pub static kSecImportItemLabel: CFStringRef;
- pub static kSecImportItemKeyID: CFStringRef;
- pub static kSecImportItemTrust: CFStringRef;
- pub static kSecImportItemCertChain: CFStringRef;
- pub static kSecImportItemIdentity: CFStringRef;
-
- pub fn SecPKCS12Import(
- pkcs12_data: CFDataRef,
- options: CFDictionaryRef,
- items: *mut CFArrayRef,
- ) -> OSStatus;
-}