Skip to content

DeriveSharedSecretResponse

Source code in docs_src/capo_kms/types/derive_shared_secret_response.py
class DeriveSharedSecretResponse(TypedDict, closed=True):
    key_id: NotRequired["capo_kms.types.key_id_type.KeyIdType"]
    """<p>Identifies the KMS key used to derive the shared secret.</p>"""
    shared_secret: NotRequired["capo_kms.types.plaintext_type.PlaintextType"]
    """<p>The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.</p> <p>If the response includes the <code>CiphertextForRecipient</code> field, the <code>SharedSecret</code> field is null or empty.</p>"""
    ciphertext_for_recipient: NotRequired[
        "capo_kms.types.ciphertext_type.CiphertextType"
    ]
    """<p>The plaintext shared secret encrypted with the public key from the attestation document. This ciphertext can be decrypted only by using a private key from the attested environment. </p> <p>This field is included in the response only when the <code>Recipient</code> parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>"""
    key_agreement_algorithm: NotRequired[
        "capo_kms.types.key_agreement_algorithm_spec.KeyAgreementAlgorithmSpec"
    ]
    """<p>Identifies the key agreement algorithm used to derive the shared secret.</p>"""
    key_origin: NotRequired["capo_kms.types.origin_type.OriginType"]
    """<p>The source of the key material for the specified KMS key.</p> <p>When this value is <code>AWS_KMS</code>, KMS created the key material. When this value is <code>EXTERNAL</code>, the key material was imported or the KMS key doesn't have any key material.</p> <p>The only valid values for DeriveSharedSecret are <code>AWS_KMS</code> and <code>EXTERNAL</code>. DeriveSharedSecret does not support KMS keys with a <code>KeyOrigin</code> value of <code>AWS_CLOUDHSM</code> or <code>EXTERNAL_KEY_STORE</code>.</p>"""

ciphertext_for_recipient instance-attribute

ciphertext_for_recipient: NotRequired[CiphertextType]

The plaintext shared secret encrypted with the public key from the attestation document. This ciphertext can be decrypted only by using a private key from the attested environment.

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 or NitroTPM. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see Cryptographic attestation support in KMS in the Key Management Service Developer Guide.

key_agreement_algorithm instance-attribute

key_agreement_algorithm: NotRequired[KeyAgreementAlgorithmSpec]

Identifies the key agreement algorithm used to derive the shared secret.

key_id instance-attribute

key_id: NotRequired[KeyIdType]

Identifies the KMS key used to derive the shared secret.

key_origin instance-attribute

key_origin: NotRequired[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.

shared_secret instance-attribute

shared_secret: NotRequired[PlaintextType]

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.