#[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);
}
}
}
}