apple-security-framework 2.9.2

Apple `Security.framework` bindings for macOS and iOS
Documentation
#[cfg(target_os = "macos")]
use apple_security_framework::os::macos::{
    keychain::SecKeychain,
    passwords::{SecAuthenticationType, SecProtocolType},
};

fn main() {
    #[cfg(target_os = "macos")]
    {
        let hostname = "example.com";
        let username = "rusty";
        let password = b"oxidize";

        let res = SecKeychain::default().unwrap().set_internet_password(
            hostname,
            None,
            username,
            "",
            None,
            SecProtocolType::HTTPS,
            SecAuthenticationType::HTMLForm,
            password,
        );
        match res {
            Ok(_) => {
                println!(
                    "Password set for {}@{}. You can read it using find_internet_password example",
                    username, hostname
                );
            }
            Err(err) => {
                eprintln!("Could not set password: {:?}", err);
            }
        }
    }
}