Skip to main content

Backend

Struct Backend 

Source
pub struct Backend { /* private fields */ }
Expand description

A handle to a backend.

The key store may have multiple backends. These include a backend for soft keys (keys stored on disk), and a gpg-agent backend.

Use Keystore::backends to get a list of the backends that are enabled.

Implementations§

Source§

impl Backend

Source

pub fn id(&mut self) -> Result<String>

Returns the backend’s ID.

Source

pub async fn id_async(&mut self) -> Result<String>

Returns the backend’s ID.

Source

pub fn devices(&mut self) -> Result<Vec<Device>>

Lists all devices.

Lists the devices managed by a backend.

Source

pub async fn devices_async(&mut self) -> Result<Vec<Device>>

Lists all devices.

Lists the devices managed by a backend.

Source

pub fn import(&mut self, cert: &Cert) -> Result<Vec<(ImportStatus, Key)>>

Imports secret key material.

cert is a TSK. Any keys without secret key material are silent ignored.

If a key already exists, it is overwritten.

An ImportStatus is returned for each secret key. If the TSK doesn’t include any secret keys, then an empty list is returned.

Some backends require additional information to import a key. These backends should Error::ExternalImportRequired, and indicate how a user might import a key to this backend.

Source

pub async fn import_async( &mut self, cert: &Cert, ) -> Result<Vec<(ImportStatus, Key)>>

Imports secret key material.

cert is a TSK. Any keys without secret key material are silent ignored.

If a key already exists, it is overwritten.

An ImportStatus is returned for each secret key. If the TSK doesn’t include any secret keys, then an empty list is returned.

Some backends require additional information to import a key. These backends should Error::ExternalImportRequired, and indicate how a user might import a key to this backend.

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.

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.