pub struct LairClient(pub Arc<dyn AsLairClient + 'static>);
Expand description

A lair keystore client handle. Use this to make requests of the keystore.

Tuple Fields

0: Arc<dyn AsLairClient + 'static>

Implementations

Return the encryption context key for passphrases, etc.

Return the decryption context key for passphrases, etc.

Shutdown the client connection.

Handle a generic lair client request.

Send the hello message to establish server authenticity. Check with your implementation before invoking this… it likely handles this for you in its constructor.

Send the unlock request to unlock / communicate with the server. (this verifies client authenticity) Check with your implementation before invoking this… it likely handles this for you in its constructor.

Request a list of entries from lair.

pub fn get_entry(
    &self,
    tag: Arc<str>
) -> impl Future<Output = Result<LairEntryInfo, OneErr>> + Send + 'static

Return the EntryInfo for a given tag, or error if no such tag.

Instruct lair to generate a new seed from cryptographically secure random data with given tag. If the seed should be deeply locked, supply the deep_lock_passphrase as well. Respects hc_seed_bundle::PwHashLimits.

Export seeds (that are marked “exportable”) by using the x25519xsalsa20poly1305 “crypto_box” algorithm. Respects hc_seed_bundle::PwHashLimits.

Import a seed encrypted via x25519xsalsa20poly1305 secretbox. Note it is 100% valid to co-opt this function to allow importing seeds that have been generated via custom algorithms, but you take responsibility for those security concerns. Respects hc_seed_bundle::PwHashLimits.

Derive a pre-existing key identified by given src_tag, with given derivation path, storing the final resulting sub-seed with the given dst_tag.

Generate a signature for given data, with the ed25519 keypair derived from seed identified by the given ed25519 pubkey. Respects hc_seed_bundle::PwHashLimits.

Encrypt data for a target recipient using the x25519xsalsa20poly1305 “crypto_box” algorithm. Respects hc_seed_bundle::PwHashLimits.

Decrypt data from a target sender using the x25519xsalsa20poly1305 “crypto_box_open” algorithm. Respects hc_seed_bundle::PwHashLimits.

Instruct lair to generate a new well-known-authority signed TLS cert. This is a lot like a self-signed certificate, but slightly easier to work with in that it allows registering a single well-known-authority as a certificate authority which will respect multiple certs.

Fetch the private key associated with a wka_tls_cert entry. Will error if the entry specified by ‘tag’ is not a wka_tls_cert.

Shared secret encryption using the libsodium xsalsa20poly1305 “secretbox” algorithm. Respects hc_seed_bundle::PwHashLimits.

Shared secret decryption using the libsodium xsalsa20poly1305 “secretbox_open” algorithm. Respects hc_seed_bundle::PwHashLimits.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745 Read more
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Deserializes using the given deserializer

Returns the argument unchanged.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Attaches the current Context to this type, returning a WithContext wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The type for metadata in pointers and references to Self.
Should always be Self
The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Checks if self is actually part of its subset T (and can be converted to it).
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
The inclusion map: converts self to the equivalent element of its superset.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
upcast ref
upcast mut ref
upcast boxed dyn
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more