Skip to main content

KeyAgreementKey

Trait KeyAgreementKey 

Source
pub trait KeyAgreementKey: Send + Sync {
    // Required method
    fn agree(
        &self,
        parameters: &KeyAgreementParameters<'_>,
    ) -> Result<Vec<u8>, ProviderError>;

    // Provided methods
    fn dh_domain_bits(&self) -> Option<(usize, usize)> { ... }
    fn provider_binding(&self) -> Option<&ProviderBinding> { ... }
}
Expand description

Opaque private-key handle used for provider-defined key agreement.

Required Methods§

Source

fn agree( &self, parameters: &KeyAgreementParameters<'_>, ) -> Result<Vec<u8>, ProviderError>

Derive the raw shared secret for the supplied peer and parameters.

Provided Methods§

Source

fn dh_domain_bits(&self) -> Option<(usize, usize)>

Public modulus/subgroup bit widths for finite-field DH. Operations use these to recheck key strength under their own policy; no secret is exported.

Source

fn provider_binding(&self) -> Option<&ProviderBinding>

External execution domain, when the private key resides outside this process.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§