Trait age::Identity

source ·
pub trait Identity {
    // Required method
    fn unwrap_stanza(
        &self,
        stanza: &Stanza
    ) -> Option<Result<FileKey, DecryptError>>;

    // Provided method
    fn unwrap_stanzas(
        &self,
        stanzas: &[Stanza]
    ) -> Option<Result<FileKey, DecryptError>> { ... }
}
Expand description

A private key or other value that can unwrap an opaque file key from a recipient stanza.

Required Methods§

source

fn unwrap_stanza( &self, stanza: &Stanza ) -> Option<Result<FileKey, DecryptError>>

Attempts to unwrap the given stanza with this identity.

This method is part of the Identity trait to expose age’s one joint for external implementations. You should not need to call this directly; instead, pass identities to RecipientsDecryptor::decrypt.

Returns:

  • Some(Ok(file_key)) on success.
  • Some(Err(e)) if a decryption error occurs.
  • None if the recipient stanza does not match this key.

Provided Methods§

source

fn unwrap_stanzas( &self, stanzas: &[Stanza] ) -> Option<Result<FileKey, DecryptError>>

Attempts to unwrap any of the given stanzas, which are assumed to come from the same age file header, and therefore contain the same file key.

This method is part of the Identity trait to expose age’s one joint for external implementations. You should not need to call this directly; instead, pass identities to RecipientsDecryptor::decrypt.

Returns:

  • Some(Ok(file_key)) on success.
  • Some(Err(e)) if a decryption error occurs.
  • None if none of the recipient stanzas match this identity.

Implementors§

source§

impl Identity for age::ssh::Identity

Available on crate feature ssh only.
source§

impl Identity for age::x25519::Identity

source§

impl<C: Callbacks> Identity for IdentityPluginV1<C>

Available on crate feature plugin only.
source§

impl<R: Read, C: Callbacks> Identity for age::encrypted::Identity<R, C>