pub trait KeyTransportKey: Send + Sync {
// Required methods
fn rsa_modulus(&self) -> Cow<'_, [u8]>;
fn rsa_exponent(&self) -> Cow<'_, [u8]>;
fn transport_with_provider(
&self,
provider: &dyn CryptoProvider,
parameters: &RsaOaepParameters,
plaintext: &[u8],
) -> Result<Vec<u8>, ProviderError>;
}Expand description
Opaque public-key handle used for asymmetric key transport.
Implementations own their key material and operation. The orchestration layer can inspect only public RSA components needed for policy validation and output framing; it cannot recover a backend-specific key object.
Required Methods§
Sourcefn rsa_modulus(&self) -> Cow<'_, [u8]>
fn rsa_modulus(&self) -> Cow<'_, [u8]>
RSA modulus bytes without redundant leading zero octets.
These components must identify the exact key used by
Self::transport_with_provider; returning metadata for another key
would violate the policy boundary.
Sourcefn rsa_exponent(&self) -> Cow<'_, [u8]>
fn rsa_exponent(&self) -> Cow<'_, [u8]>
RSA public exponent bytes without redundant leading zero octets.
Sourcefn transport_with_provider(
&self,
provider: &dyn CryptoProvider,
parameters: &RsaOaepParameters,
plaintext: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn transport_with_provider( &self, provider: &dyn CryptoProvider, parameters: &RsaOaepParameters, plaintext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Execute OAEP key transport using the selected provider’s randomness.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl KeyTransportKey for RsaPublicKey
Available on crate feature xmlenc only.
impl KeyTransportKey for RsaPublicKey
Available on crate feature
xmlenc only.fn rsa_modulus(&self) -> Cow<'_, [u8]>
fn rsa_exponent(&self) -> Cow<'_, [u8]>
fn transport_with_provider( &self, provider: &dyn CryptoProvider, parameters: &RsaOaepParameters, plaintext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Implementors§
impl KeyTransportKey for RustCryptoRsaPublicKey
Available on crate feature
xmlenc only.