pub struct AccessControl { /* private fields */ }Expand description
Wraps SecAccessControlRef.
Implementations§
Source§impl AccessControl
impl AccessControl
Sourcepub fn create(
protection: AccessControlProtection,
flags: AccessControlFlags,
) -> Result<Self>
pub fn create( protection: AccessControlProtection, flags: AccessControlFlags, ) -> Result<Self>
Wraps the corresponding SecAccessControlRef operation.
Examples found in repository?
examples/01_keychain_password.rs (lines 9-12)
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}Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Wraps the corresponding SecAccessControlRef operation.
Examples found in repository?
examples/01_keychain_password.rs (line 19)
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}Trait Implementations§
Auto Trait Implementations§
impl Freeze for AccessControl
impl RefUnwindSafe for AccessControl
impl !Send for AccessControl
impl !Sync for AccessControl
impl Unpin for AccessControl
impl UnsafeUnpin for AccessControl
impl UnwindSafe for AccessControl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more