security-rs 0.2.1

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
use security::{Code, Task};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let code = Code::current()?;
    let static_code = code.static_code()?;
    let signing = code.signing_information()?;
    let task = Task::current()?;
    println!(
        "path={:?} signed={} task_identifier={:?} validity_ok={}",
        static_code.path()?.display(),
        signing.is_signed(),
        task.signing_identifier()?,
        static_code.check_validity().is_ok()
    );
    Ok(())
}