Skip to main content

Recipient

Trait Recipient 

Source
pub trait Recipient {
    // Required methods
    fn key_id(&self) -> &KeyId;
    async fn open(
        &self,
        request: &OpenRequest<'_>,
    ) -> Result<Zeroizing<Vec<u8>>, OpenError>;
}
Expand description

Opens one COSE_Encrypt addressed to key_id(): ECDH-ES decapsulation + HKDF-256 (COSE_KDF_Context) + content AEAD, returning zeroizing plaintext.

A broker-backed impl forwards OpenRequest::cose_encrypt verbatim to the broker unseal RPC; the local impl holds a Zeroizing X25519 private. A successful open proves confidentiality, never sender identity. Sender identity comes only from the outer COSE_Sign1.

Required Methods§

Source

fn key_id(&self) -> &KeyId

The recipient (static X25519) key id.

Source

async fn open( &self, request: &OpenRequest<'_>, ) -> Result<Zeroizing<Vec<u8>>, OpenError>

Open the message, returning the plaintext in a zeroizing buffer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§