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§
Sourcefn agree(
&self,
parameters: &KeyAgreementParameters<'_>,
) -> Result<Vec<u8>, ProviderError>
fn agree( &self, parameters: &KeyAgreementParameters<'_>, ) -> Result<Vec<u8>, ProviderError>
Derive the raw shared secret for the supplied peer and parameters.
Provided Methods§
Sourcefn dh_domain_bits(&self) -> Option<(usize, usize)>
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.
Sourcefn provider_binding(&self) -> Option<&ProviderBinding>
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".