pub struct PrivateCrossSigningIdentity { /* private fields */ }
Expand description

Private cross signing identity.

This object holds the private and public ed25519 key triplet that is used for cross signing.

The object might be completely empty or have only some of the key pairs available.

It can be used to sign devices or other identities.

Implementations

Get the user id that this identity belongs to.

Is the identity empty.

An empty identity doesn’t contain any private keys.

It is usual for the identity not to contain the master key since the master key is only needed to sign the subkeys.

An empty identity indicates that either no identity was created for this use or that another device created it and hasn’t shared it yet with us.

Can we sign our own devices, i.e. do we have a self signing key.

Can we sign other users, i.e. do we have a user signing key.

Do we have the master key.

Get the status of our private cross signing keys, i.e. if we have the master key and the subkeys.

Get the public part of the master key, if we have one.

Get the public part of the self-signing key, if we have one.

Get the public part of the user-signing key, if we have one.

Export the seed of the private cross signing key

The exported seed will be encoded as unpadded base64.

Arguments
  • secret_name - The type of the cross signing key that should be exported.

Import the private parts of the cross signing keys into this identity.

The private parts should be unexpanded Ed25519 keys encoded as a base64 string.

Note: This method won’t check if the public keys match the public keys present on the server.

Create a new empty identity.

Mark the identity as shared.

Has the identity been shared.

A shared identity here means that the public keys of the identity have been uploaded to the server.

Store the cross signing identity as a pickle.

Arguments
  • pickle_key - The key that should be used to encrypt the signing object, must be 32 bytes long.
Panics

This will panic if the provided pickle key isn’t 32 bytes long.

Restore the private cross signing identity from a pickle.

Panic

Panics if the pickle_key isn’t 32 bytes long.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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.

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