#[non_exhaustive]pub struct DeriveSharedSecretOutput {
pub key_id: Option<String>,
pub shared_secret: Option<Blob>,
pub ciphertext_for_recipient: Option<Blob>,
pub key_agreement_algorithm: Option<KeyAgreementAlgorithmSpec>,
pub key_origin: Option<OriginType>,
/* 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>
Identifies the KMS key used to derive the shared secret.
The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
If the response includes the CiphertextForRecipient
field, the SharedSecret
field is null or empty.
ciphertext_for_recipient: Option<Blob>
The plaintext shared secret encrypted with the public key in the attestation document.
This field is included in the response only when the Recipient
parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
key_agreement_algorithm: Option<KeyAgreementAlgorithmSpec>
Identifies the key agreement algorithm used to derive the shared secret.
key_origin: Option<OriginType>
The source of the key material for the specified KMS key.
When this value is AWS_KMS
, KMS created the key material. When this value is EXTERNAL
, the key material was imported or the KMS key doesn't have any key material.
The only valid values for DeriveSharedSecret are AWS_KMS
and EXTERNAL
. DeriveSharedSecret does not support KMS keys with a KeyOrigin
value of AWS_CLOUDHSM
or EXTERNAL_KEY_STORE
.
Implementations§
The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
If the response includes the CiphertextForRecipient
field, the SharedSecret
field is null or empty.
Sourcepub fn ciphertext_for_recipient(&self) -> Option<&Blob>
pub fn ciphertext_for_recipient(&self) -> Option<&Blob>
The plaintext shared secret encrypted with the public key in the attestation document.
This field is included in the response only when the Recipient
parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
Sourcepub fn key_agreement_algorithm(&self) -> Option<&KeyAgreementAlgorithmSpec>
pub fn key_agreement_algorithm(&self) -> Option<&KeyAgreementAlgorithmSpec>
Identifies the key agreement algorithm used to derive the shared secret.
Sourcepub fn key_origin(&self) -> Option<&OriginType>
pub fn key_origin(&self) -> Option<&OriginType>
The source of the key material for the specified KMS key.
When this value is AWS_KMS
, KMS created the key material. When this value is EXTERNAL
, the key material was imported or the KMS key doesn't have any key material.
The only valid values for DeriveSharedSecret are AWS_KMS
and EXTERNAL
. DeriveSharedSecret does not support KMS keys with a KeyOrigin
value of AWS_CLOUDHSM
or EXTERNAL_KEY_STORE
.
Sourcepub fn builder() -> DeriveSharedSecretOutputBuilder
pub fn builder() -> DeriveSharedSecretOutputBuilder
Creates a new builder-style object to manufacture DeriveSharedSecretOutput
.
Trait Implementations§
Source§fn clone(&self) -> DeriveSharedSecretOutput
fn clone(&self) -> DeriveSharedSecretOutput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§fn request_id(&self) -> Option<&str>
fn request_id(&self) -> Option<&str>
None
if the service could not be reached.Auto Trait Implementations§
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