Skip to main content

Keyring

Enum Keyring 

Source
pub enum Keyring {
    // some variants omitted
}
Expand description

A Secret Service or file backed keyring implementation.

It will automatically use the file backend if the application is sandboxed and otherwise falls back to the DBus service using it default collection.

The File backend requires a org.freedesktop.portal.Secret implementation to retrieve the key that will be used to encrypt the backend file.

Implementations§

Source§

impl Keyring

Source

pub async fn new() -> Result<Self>

Create a new instance of the Keyring.

Auto-detects whether the application is sandboxed and uses the appropriate backend (file backend for sandboxed apps, D-Bus service for host apps). Falls back to D-Bus if the secret portal is not available.

Source

pub async fn sandboxed() -> Result<Self>

Use the file backend with secret portal (for sandboxed apps).

Source

pub async fn sandboxed_with_path( path: impl AsRef<Path>, secret: Secret, ) -> Result<Self>

Use the file backend with a custom path.

§Arguments
  • path - Path to the keyring file
  • secret - Secret to unlock the keyring (use Secret::sandboxed() or Secret::random() for tests)
Source

pub async fn host() -> Result<Self>

Use the D-Bus Secret Service.

Source

pub async fn host_with_connection(connection: Connection) -> Result<Self>

Use the D-Bus Secret Service with a custom connection.

Source

pub async fn unlock(&self) -> Result<()>

Unlock the used collection.

Source

pub async fn lock(&self) -> Result<()>

Lock the used collection.

Source

pub async fn is_locked(&self) -> Result<bool>

Whether the keyring is locked or not.

Source

pub async fn delete(&self, attributes: &impl AsAttributes) -> Result<()>

Remove items that matches the attributes.

Source

pub async fn items(&self) -> Result<Vec<Item>>

Retrieve all the items.

Source

pub async fn create_item( &self, label: &str, attributes: &impl AsAttributes, secret: impl Into<Secret>, replace: bool, ) -> Result<()>

Create a new item.

Source

pub async fn search_items( &self, attributes: &impl AsAttributes, ) -> Result<Vec<Item>>

Find items based on their attributes.

Trait Implementations§

Source§

impl Debug for Keyring

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more