#[non_exhaustive]pub struct EncapsulateOutput {
pub key_id: Option<String>,
pub shared_secret: Option<Blob>,
pub shared_secret_ciphertext_blob: Option<Blob>,
pub encapsulation_algorithm: Option<EncapsulationAlgorithmSpec>,
/* private fields */
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.key_id: Option<String>The identifier of the ML-KEM KMS key used to encapsulate the shared secret.
The plaintext shared secret. It is a 32-byte cryptographically random value that both parties can use directly as key material or pass through a key derivation function to generate multiple keys and nonces. When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
The encapsulated form of the shared secret. Pass this value to the Decapsulate operation to recover the shared secret. When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. The length of SharedSecretCiphertextBlob depends on the ML-KEM key spec. Before Base64 encoding, the encapsulated shared secret is 768 bytes for ML_KEM_512, 1088 bytes for ML_KEM_768, and 1568 bytes for ML_KEM_1024.
encapsulation_algorithm: Option<EncapsulationAlgorithmSpec>The key encapsulation algorithm used to generate the shared secret.
Implementations§
Source§impl EncapsulateOutput
impl EncapsulateOutput
Sourcepub fn key_id(&self) -> Option<&str>
pub fn key_id(&self) -> Option<&str>
The identifier of the ML-KEM KMS key used to encapsulate the shared secret.
The plaintext shared secret. It is a 32-byte cryptographically random value that both parties can use directly as key material or pass through a key derivation function to generate multiple keys and nonces. When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
The encapsulated form of the shared secret. Pass this value to the Decapsulate operation to recover the shared secret. When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. The length of SharedSecretCiphertextBlob depends on the ML-KEM key spec. Before Base64 encoding, the encapsulated shared secret is 768 bytes for ML_KEM_512, 1088 bytes for ML_KEM_768, and 1568 bytes for ML_KEM_1024.
Sourcepub fn encapsulation_algorithm(&self) -> Option<&EncapsulationAlgorithmSpec>
pub fn encapsulation_algorithm(&self) -> Option<&EncapsulationAlgorithmSpec>
The key encapsulation algorithm used to generate the shared secret.
Source§impl EncapsulateOutput
impl EncapsulateOutput
Sourcepub fn builder() -> EncapsulateOutputBuilder
pub fn builder() -> EncapsulateOutputBuilder
Creates a new builder-style object to manufacture EncapsulateOutput.
Trait Implementations§
Source§impl Clone for EncapsulateOutput
impl Clone for EncapsulateOutput
Source§fn clone(&self) -> EncapsulateOutput
fn clone(&self) -> EncapsulateOutput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EncapsulateOutput
impl Debug for EncapsulateOutput
Source§impl PartialEq for EncapsulateOutput
impl PartialEq for EncapsulateOutput
Source§impl RequestId for EncapsulateOutput
impl RequestId for EncapsulateOutput
Source§fn request_id(&self) -> Option<&str>
fn request_id(&self) -> Option<&str>
None if the service could not be reached.impl StructuralPartialEq for EncapsulateOutput
Auto Trait Implementations§
impl !Freeze for EncapsulateOutput
impl RefUnwindSafe for EncapsulateOutput
impl Send for EncapsulateOutput
impl Sync for EncapsulateOutput
impl Unpin for EncapsulateOutput
impl UnsafeUnpin for EncapsulateOutput
impl UnwindSafe for EncapsulateOutput
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more