security-rs 0.4.0

Safe Rust bindings for Apple's Security framework — keychain, identity, certificates, trust, authorization, CMS, SecureTransport, and cryptographic primitives on macOS
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#![cfg(feature = "raw-ffi")]

#[test]
fn raw_ffi_exposes_targeted_security_symbols() {
    unsafe {
        assert!(security::ffi::SecAccessControlGetTypeID() > 0);
        assert!(security::ffi::SecKeyGetTypeID() > 0);
        assert!(security::ffi::SecPolicyGetTypeID() > 0);

        assert!(!security::ffi::kSecAttrAccessControl.is_null());
        assert!(!security::ffi::kSecUseAuthenticationContext.is_null());
        assert!(!security::ffi::kSecKeyAlgorithmRSAEncryptionOAEPSHA256.is_null());
        assert!(!security::ffi::kSecKeyKeyExchangeParameterSharedInfo.is_null());
        assert!(!security::ffi::kSecPolicyAppleSSL.is_null());
        assert!(!security::ffi::kSecPolicyRevocationFlags.is_null());
    }
}