01_keychain_password/
01_keychain_password.rs1#[path = "support/mod.rs"]
2mod support;
3
4use security::{AccessControl, AccessControlFlags, AccessControlProtection, Keychain};
5
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let account = "example-account";
8 let service = support::unique_service("keychain");
9 let access_control = AccessControl::create(
10 AccessControlProtection::WhenUnlocked,
11 AccessControlFlags::PRIVATE_KEY_USAGE,
12 )?;
13 Keychain::set(account, &service, "secret-password")?;
14 let password = Keychain::get(account, &service)?;
15 let accounts = Keychain::list_accounts(&service)?;
16 Keychain::delete(account, &service)?;
17 println!(
18 "password={password} accounts={accounts:?} access_control_created={}",
19 access_control.is_valid()
20 );
21 Ok(())
22}