String keyId
The unique identifier for the customer master key (CMK) for which to cancel deletion.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String customKeyStoreId
Enter the key store ID of the custom key store that you want to connect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
String aliasName
Specifies the alias name. This value must begin with alias/
followed by a name, such as
alias/ExampleAlias
. The alias name cannot begin with alias/aws/
. The
alias/aws/
prefix is reserved for AWS managed CMKs.
String targetKeyId
Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.
String customKeyStoreName
Specifies a friendly name for the custom key store. The name must be unique in your AWS account.
String cloudHsmClusterId
Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, use the DescribeClusters operation.
String trustAnchorCertificate
Enter the content of the trust anchor certificate for the cluster. This is the content of the
customerCA.crt
file that you created when you initialized the cluster.
String keyStorePassword
Enter the password of the
kmsuser
crypto user (CU) account in the specified AWS CloudHSM cluster. AWS KMS logs into the
cluster as this user to manage key material on your behalf.
The password must be a string of 7 to 32 characters. Its value is case sensitive.
This parameter tells AWS KMS the kmsuser
account password; it does not change the password in the
AWS CloudHSM cluster.
String customKeyStoreId
A unique identifier for the new custom key store.
String keyId
The unique identifier for the customer master key (CMK) that the grant applies to.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String granteePrincipal
The principal that is given permission to perform the operations that the grant permits.
To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.
String retiringPrincipal
The principal that is given permission to retire the grant by using RetireGrant operation.
To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.
SdkInternalList<T> operations
A list of operations that the grant permits.
GrantConstraints constraints
Allows a cryptographic operation only when the encryption context matches or includes the encryption context specified in this structure. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide .
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String name
A friendly name for identifying the grant. Use this value to prevent the unintended creation of duplicate grants when retrying this request.
When this value is absent, all CreateGrant
requests result in a new grant with a unique
GrantId
even if all the supplied parameters are identical. This can result in unintended duplicates
when you retry the CreateGrant
request.
When this value is present, you can retry a CreateGrant
request with identical parameters; if the
grant already exists, the original GrantId
is returned without creating a new grant. Note that the
returned grant token is unique with every CreateGrant
request, even when a duplicate
GrantId
is returned. All grant tokens obtained in this way can be used interchangeably.
String grantToken
The grant token.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String grantId
The unique identifier for the grant.
You can use the GrantId
in a subsequent RetireGrant or RevokeGrant operation.
String policy
The key policy to attach to the CMK.
If you provide a key policy, it must meet the following criteria:
If you don't set BypassPolicyLockoutSafetyCheck
to true, the key policy must allow the principal
that is making the CreateKey
request to make a subsequent PutKeyPolicy request on the CMK.
This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide .
Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.
If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.
The key policy size quota is 32 kilobytes (32768 bytes).
String description
A description of the CMK.
Use a description that helps you decide whether the CMK is appropriate for a task.
String keyUsage
Determines the cryptographic
operations for which you can use the CMK. The default value is ENCRYPT_DECRYPT
. This parameter
is required only for asymmetric CMKs. You can't change the KeyUsage
value after the CMK is created.
Select only one valid value.
For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT
.
For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT
or SIGN_VERIFY
.
For asymmetric CMKs with ECC key material, specify SIGN_VERIFY
.
String customerMasterKeySpec
Specifies the type of CMK to create. The default value, SYMMETRIC_DEFAULT
, creates a CMK with a
256-bit symmetric key for encryption and decryption. For help choosing a key spec for your CMK, see How to Choose Your CMK
Configuration in the AWS Key Management Service Developer Guide.
The CustomerMasterKeySpec
determines whether the CMK contains a symmetric key or an asymmetric key
pair. It also determines the encryption algorithms or signing algorithms that the CMK supports. You can't change
the CustomerMasterKeySpec
after the CMK is created. To further restrict the algorithms that can be
used with the CMK, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm or kms:Signing Algorithm in the AWS Key Management Service Developer Guide.
AWS services that are integrated with AWS KMS use symmetric CMKs to protect your data. These services do not support asymmetric CMKs. For help determining whether a CMK is symmetric or asymmetric, see Identifying Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.
AWS KMS supports the following key specs for CMKs:
Symmetric key (default)
SYMMETRIC_DEFAULT
(AES-256-GCM)
Asymmetric RSA key pairs
RSA_2048
RSA_3072
RSA_4096
Asymmetric NIST-recommended elliptic curve key pairs
ECC_NIST_P256
(secp256r1)
ECC_NIST_P384
(secp384r1)
ECC_NIST_P521
(secp521r1)
Other asymmetric elliptic curve key pairs
ECC_SECG_P256K1
(secp256k1), commonly used for cryptocurrencies.
String origin
The source of the key material for the CMK. You cannot change the origin after you create the CMK. The default is
AWS_KMS
, which means AWS KMS creates the key material.
When the parameter value is EXTERNAL
, AWS KMS creates a CMK without key material so that you can
import key material from your existing key management infrastructure. For more information about importing key
material into AWS KMS, see Importing Key Material in
the AWS Key Management Service Developer Guide. This value is valid only for symmetric CMKs.
When the parameter value is AWS_CLOUDHSM
, AWS KMS creates the CMK in an AWS KMS custom key store
and creates its key material in the associated AWS CloudHSM cluster. You must also use the
CustomKeyStoreId
parameter to identify the custom key store. This value is valid only for symmetric
CMKs.
String customKeyStoreId
Creates the CMK in the specified custom key store
and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also
specify the Origin
parameter with a value of AWS_CLOUDHSM
. The AWS CloudHSM cluster
that is associated with the custom key store must have at least two active HSMs, each in a different Availability
Zone in the Region.
This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a custom key store.
To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.
This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.
Boolean bypassPolicyLockoutSafetyCheck
A flag to indicate whether to bypass the key policy lockout safety check.
Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.
For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide .
Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.
The default value is false.
SdkInternalList<T> tags
One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string.
When you add tags to an AWS resource, AWS generates a cost allocation report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, see Tagging Keys.
Use this parameter to tag the CMK when it is created. To add tags to an existing CMK, use the TagResource operation.
KeyMetadata keyMetadata
Metadata associated with the CMK.
String customKeyStoreId
A unique identifier for the custom key store.
String customKeyStoreName
The user-specified friendly name for the custom key store.
String cloudHsmClusterId
A unique identifier for the AWS CloudHSM cluster that is associated with the custom key store.
String trustAnchorCertificate
The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the
cluster, you create this certificate and save it in the customerCA.crt
file.
String connectionState
Indicates whether the custom key store is connected to its AWS CloudHSM cluster.
You can create and use CMKs in your custom key stores only when its connection state is CONNECTED
.
The value is DISCONNECTED
if the key store has never been connected or you use the
DisconnectCustomKeyStore operation to disconnect it. If the value is CONNECTED
but you are
having trouble using the custom key store, make sure that its associated AWS CloudHSM cluster is active and
contains at least one active HSM.
A value of FAILED
indicates that an attempt to connect was unsuccessful. The
ConnectionErrorCode
field in the response indicates the cause of the failure. For help resolving a
connection failure, see Troubleshooting a Custom Key
Store in the AWS Key Management Service Developer Guide.
String connectionErrorCode
Describes the connection error. This field appears in the response only when the ConnectionState
is
FAILED
. For help resolving these errors, see How to Fix a
Connection Failure in AWS Key Management Service Developer Guide.
Valid values are:
CLUSTER_NOT_FOUND
- AWS KMS cannot find the AWS CloudHSM cluster with the specified cluster ID.
INSUFFICIENT_CLOUDHSM_HSMS
- The associated AWS CloudHSM cluster does not contain any active HSMs.
To connect a custom key store to its AWS CloudHSM cluster, the cluster must contain at least one active HSM.
INTERNAL_ERROR
- AWS KMS could not complete the request due to an internal error. Retry the request.
For ConnectCustomKeyStore
requests, disconnect the custom key store before trying to connect again.
INVALID_CREDENTIALS
- AWS KMS does not have the correct password for the kmsuser
crypto
user in the AWS CloudHSM cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you
must change the kmsuser
account password and update the key store password value for the custom key
store.
NETWORK_ERRORS
- Network errors are preventing AWS KMS from connecting to the custom key store.
SUBNET_NOT_FOUND
- A subnet in the AWS CloudHSM cluster configuration was deleted. If AWS KMS cannot
find all of the subnets in the cluster configuration, attempts to connect the custom key store to the AWS
CloudHSM cluster fail. To fix this error, create a cluster from a recent backup and associate it with your custom
key store. (This process creates a new cluster configuration with a VPC and private subnets.) For details, see How to Fix a
Connection Failure in the AWS Key Management Service Developer Guide.
USER_LOCKED_OUT
- The kmsuser
CU account is locked out of the associated AWS CloudHSM
cluster due to too many failed password attempts. Before you can connect your custom key store to its AWS
CloudHSM cluster, you must change the kmsuser
account password and update the key store password
value for the custom key store.
USER_LOGGED_IN
- The kmsuser
CU account is logged into the the associated AWS CloudHSM
cluster. This prevents AWS KMS from rotating the kmsuser
account password and logging into the
cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you must log the
kmsuser
CU out of the cluster. If you changed the kmsuser
password to log into the
cluster, you must also and update the key store password value for the custom key store. For help, see How to Log Out and
Reconnect in the AWS Key Management Service Developer Guide.
USER_NOT_FOUND
- AWS KMS cannot find a kmsuser
CU account in the associated AWS
CloudHSM cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you must create a
kmsuser
CU account in the cluster, and then update the key store password value for the custom key
store.
Date creationDate
The date and time when the custom key store was created.
ByteBuffer ciphertextBlob
Ciphertext to be decrypted. The blob includes metadata.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context to use when decrypting the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String keyId
Specifies the customer master key (CMK) that AWS KMS will use to decrypt the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext.
If you specify a KeyId
value, the Decrypt
operation succeeds only if the specified CMK
was used to encrypt the ciphertext.
This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
String encryptionAlgorithm
Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify the same algorithm that
was used to encrypt the data. If you specify a different algorithm, the Decrypt
operation fails.
This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. The default value,
SYMMETRIC_DEFAULT
, represents the only supported algorithm that is valid for symmetric CMKs.
String keyId
The Amazon Resource Name (key ARN) of the CMK that was used to decrypt the ciphertext.
ByteBuffer plaintext
Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String encryptionAlgorithm
The encryption algorithm that was used to decrypt the ciphertext.
String aliasName
The alias to be deleted. The alias name must begin with alias/
followed by the alias name, such as
alias/ExampleAlias
.
String customKeyStoreId
Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
String keyId
Identifies the CMK from which you are deleting imported key material. The Origin
of the CMK must be
EXTERNAL
.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String customKeyStoreId
Gets only information about the specified custom key store. Enter the key store ID.
By default, this operation gets information about all custom key stores in the account and region. To limit the
output to a particular custom key store, you can use either the CustomKeyStoreId
or
CustomKeyStoreName
parameter, but not both.
String customKeyStoreName
Gets only information about the specified custom key store. Enter the friendly name of the custom key store.
By default, this operation gets information about all custom key stores in the account and region. To limit the
output to a particular custom key store, you can use either the CustomKeyStoreId
or
CustomKeyStoreName
parameter, but not both.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
SdkInternalList<T> customKeyStores
Contains metadata about each custom key store.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
String keyId
Describes the specified customer master key (CMK).
If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and
returns its KeyId
and Arn
in the response.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
KeyMetadata keyMetadata
Metadata associated with the key.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String keyId
Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String customKeyStoreId
Enter the ID of the custom key store you want to disconnect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String keyId
Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String keyId
A unique identifier for the customer master key (CMK).
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
ByteBuffer plaintext
Data to be encrypted.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context that will be used to encrypt the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String encryptionAlgorithm
Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. The algorithm must be compatible with the CMK that you specify.
This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT
, is the
algorithm used for symmetric CMKs. If you are using an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.
ByteBuffer ciphertextBlob
The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String keyId
The Amazon Resource Name (key ARN) of the CMK that was used to encrypt the plaintext.
String encryptionAlgorithm
The encryption algorithm that was used to encrypt the plaintext.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context that will be used when encrypting the private key in the data key pair.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
String keyId
Specifies the symmetric CMK that encrypts the private key in the data key pair. You cannot specify an asymmetric CMK or a CMK in a custom key store. To get the type and origin of your CMK, use the DescribeKey operation.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
String keyPairSpec
Determines the type of data key pair that is generated.
The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
ByteBuffer privateKeyCiphertextBlob
The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
ByteBuffer privateKeyPlaintext
The plaintext copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
ByteBuffer publicKey
The public key (in plaintext).
String keyId
The Amazon Resource Name (key ARN) of the CMK that encrypted the private key.
String keyPairSpec
The type of data key pair that was generated.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context that will be used when encrypting the private key in the data key pair.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
String keyId
Specifies the CMK that encrypts the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK or a CMK in a custom key store. To get the type and origin of your CMK, use the DescribeKey operation.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
String keyPairSpec
Determines the type of data key pair that is generated.
The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
ByteBuffer privateKeyCiphertextBlob
The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
ByteBuffer publicKey
The public key (in plaintext).
String keyId
The Amazon Resource Name (key ARN) of the CMK that encrypted the private key.
String keyPairSpec
The type of data key pair that was generated.
String keyId
Identifies the symmetric CMK that encrypts the data key.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context that will be used when encrypting the data key.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
Integer numberOfBytes
Specifies the length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64
bytes is 512 bits). For 128-bit (16-byte) and 256-bit (32-byte) data keys, use the KeySpec
parameter.
You must specify either the KeySpec
or the NumberOfBytes
parameter (but not both) in
every GenerateDataKey
request.
String keySpec
Specifies the length of the data key. Use AES_128
to generate a 128-bit symmetric key, or
AES_256
to generate a 256-bit symmetric key.
You must specify either the KeySpec
or the NumberOfBytes
parameter (but not both) in
every GenerateDataKey
request.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
ByteBuffer ciphertextBlob
The encrypted copy of the data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
ByteBuffer plaintext
The plaintext data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key to encrypt your data outside of KMS. Then, remove it from memory as soon as possible.
String keyId
The Amazon Resource Name (key ARN) of the CMK that encrypted the data key.
String keyId
The identifier of the symmetric customer master key (CMK) that encrypts the data key.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
SdkInternalMap<K,V> encryptionContext
Specifies the encryption context that will be used when encrypting the data key.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
String keySpec
The length of the data key. Use AES_128
to generate a 128-bit symmetric key, or AES_256
to generate a 256-bit symmetric key.
Integer numberOfBytes
The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is
512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the
KeySpec
field instead of this one.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
ByteBuffer ciphertextBlob
The encrypted data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String keyId
The Amazon Resource Name (key ARN) of the CMK that encrypted the data key.
Integer numberOfBytes
The length of the byte string.
String customKeyStoreId
Generates the random byte string in the AWS CloudHSM cluster that is associated with the specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
ByteBuffer plaintext
The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String policyName
Specifies the name of the key policy. The only valid name is default
. To get the names of key
policies, use ListKeyPolicies.
String policy
A key policy document in JSON format.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
Boolean keyRotationEnabled
A Boolean value that specifies whether key rotation is enabled.
String keyId
The identifier of the symmetric CMK into which you will import key material. The Origin
of the CMK
must be EXTERNAL
.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String wrappingAlgorithm
The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.
String wrappingKeySpec
The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public keys are supported.
String keyId
The Amazon Resource Name (key ARN) of the CMK
to use in a subsequent ImportKeyMaterial request. This is the same CMK specified in the
GetParametersForImport
request.
ByteBuffer importToken
The import token to send in a subsequent ImportKeyMaterial request.
ByteBuffer publicKey
The public key to use to encrypt the key material before importing it with ImportKeyMaterial.
Date parametersValidTo
The time at which the import token and public key are no longer valid. After this time, you cannot use them to
make an ImportKeyMaterial request and you must send another GetParametersForImport
request to
get new ones.
String keyId
Identifies the asymmetric CMK that includes the public key.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String keyId
The Amazon Resource Name (key ARN) of the asymmetric CMK from which the public key was downloaded.
ByteBuffer publicKey
The exported public key.
The value is a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo
(SPKI), as defined
in RFC 5280. When you use the HTTP API or the AWS CLI, the
value is Base64-encoded. Otherwise, it is not Base64-encoded.
String customerMasterKeySpec
The type of the of the public key that was downloaded.
String keyUsage
The permitted use of the public key. Valid values are ENCRYPT_DECRYPT
or SIGN_VERIFY
.
This information is critical. If a public key with SIGN_VERIFY
key usage encrypts data outside of
AWS KMS, the ciphertext cannot be decrypted.
SdkInternalList<T> encryptionAlgorithms
The encryption algorithms that AWS KMS supports for this key.
This information is critical. If a public key encrypts data outside of AWS KMS by using an unsupported encryption algorithm, the ciphertext cannot be decrypted.
This field appears in the response only when the KeyUsage
of the public key is
ENCRYPT_DECRYPT
.
SdkInternalList<T> signingAlgorithms
The signing algorithms that AWS KMS supports for this key.
This field appears in the response only when the KeyUsage
of the public key is
SIGN_VERIFY
.
SdkInternalMap<K,V> encryptionContextSubset
A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.
SdkInternalMap<K,V> encryptionContextEquals
A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.
String keyId
The unique identifier for the customer master key (CMK) to which the grant applies.
String grantId
The unique identifier for the grant.
String name
The friendly name that identifies the grant. If a name was provided in the CreateGrant request, that name is returned. Otherwise this value is null.
Date creationDate
The date and time when the grant was created.
String granteePrincipal
The identity that gets the permissions in the grant.
The GranteePrincipal
field in the ListGrants
response usually contains the user or role
designated as the grantee principal in the grant. However, when the grantee principal in the grant is an AWS
service, the GranteePrincipal
field contains the service principal, which might represent several different grantee principals.
String retiringPrincipal
The principal that can retire the grant.
String issuingAccount
The AWS account under which the grant was issued.
SdkInternalList<T> operations
The list of operations permitted by the grant.
GrantConstraints constraints
A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows.
String keyId
The identifier of the symmetric CMK that receives the imported key material. The CMK's Origin
must
be EXTERNAL
. This must be the same CMK specified in the KeyID
parameter of the
corresponding GetParametersForImport request.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
ByteBuffer importToken
The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained the public key that you used to encrypt the key material.
ByteBuffer encryptedKeyMaterial
The encrypted key material to import. The key material must be encrypted with the public wrapping key that
GetParametersForImport returned, using the wrapping algorithm that you specified in the same
GetParametersForImport
request.
Date validTo
The time at which the imported key material expires. When the key material expires, AWS KMS deletes the key
material and the CMK becomes unusable. You must omit this parameter when the ExpirationModel
parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE
. Otherwise it is required.
String expirationModel
Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES
, in which case you
must include the ValidTo
parameter. When this parameter is set to
KEY_MATERIAL_DOES_NOT_EXPIRE
, you must omit the ValidTo
parameter.
String aWSAccountId
The twelve-digit account ID of the AWS account that owns the CMK.
String keyId
The globally unique identifier for the CMK.
String arn
The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.
Date creationDate
The date and time when the CMK was created.
Boolean enabled
Specifies whether the CMK is enabled. When KeyState
is Enabled
this value is true,
otherwise it is false.
String description
The description of the CMK.
String keyUsage
The cryptographic operations for which you can use the CMK.
String keyState
The current status of the CMK.
For more information about how key state affects the use of a CMK, see Key state: Effect on your CMK in the AWS Key Management Service Developer Guide.
Date deletionDate
The date and time after which AWS KMS deletes the CMK. This value is present only when KeyState
is
PendingDeletion
.
Date validTo
The time at which the imported key material expires. When the key material expires, AWS KMS deletes the key
material and the CMK becomes unusable. This value is present only for CMKs whose Origin
is
EXTERNAL
and whose ExpirationModel
is KEY_MATERIAL_EXPIRES
, otherwise this
value is omitted.
String origin
The source of the CMK's key material. When this value is AWS_KMS
, AWS KMS created the key material.
When this value is EXTERNAL
, the key material was imported from your existing key management
infrastructure or the CMK lacks key material. When this value is AWS_CLOUDHSM
, the key material was
created in the AWS CloudHSM cluster associated with a custom key store.
String customKeyStoreId
A unique identifier for the custom key store that contains the CMK. This value is present only when the CMK is created in a custom key store.
String cloudHsmClusterId
The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key store.
String expirationModel
Specifies whether the CMK's key material expires. This value is present only when Origin
is
EXTERNAL
, otherwise this value is omitted.
String keyManager
The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed. For more information about the difference, see Customer Master Keys in the AWS Key Management Service Developer Guide.
String customerMasterKeySpec
Describes the type of key material in the CMK.
SdkInternalList<T> encryptionAlgorithms
The encryption algorithms that the CMK supports. You cannot use the CMK with other encryption algorithms within AWS KMS.
This field appears only when the KeyUsage
of the CMK is ENCRYPT_DECRYPT
.
SdkInternalList<T> signingAlgorithms
The signing algorithms that the CMK supports. You cannot use the CMK with other signing algorithms within AWS KMS.
This field appears only when the KeyUsage
of the CMK is SIGN_VERIFY
.
String keyId
Lists only aliases that refer to the specified CMK. The value of this parameter can be the ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use an alias name or alias ARN in this value.
This parameter is optional. If you omit it, ListAliases
returns all aliases in the account and
region.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
SdkInternalList<T> aliases
A list of aliases.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
SdkInternalList<T> grants
A list of grants.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.
Only one policy can be attached to a key.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
SdkInternalList<T> policyNames
A list of key policy names. The only valid value is default
.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
SdkInternalList<T> keys
A list of customer master keys (CMKs).
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 50, inclusive. If you do not include a value, it defaults to 50.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
Do not attempt to construct this value. Use only the value of NextMarker
from the truncated response
you just received.
SdkInternalList<T> tags
A list of tags. Each tag consists of a tag key and a tag value.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Do not assume or infer any information from this value.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
Integer limit
Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.
This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.
String marker
Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the
value of NextMarker
from the truncated response you just received.
String retiringPrincipal
The retiring principal for which to list grants.
To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.
SdkInternalList<T> grants
A list of grants.
String nextMarker
When Truncated
is true, this element is present and contains the value to use for the
Marker
parameter in a subsequent request.
Boolean truncated
A flag that indicates whether there are more items in the list. When this value is true, the list in this
response is truncated. To get more items, pass the value of the NextMarker
element in thisresponse
to the Marker
parameter in a subsequent request.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String policyName
The name of the key policy. The only valid value is default
.
String policy
The key policy to attach to the CMK.
The key policy must meet the following criteria:
If you don't set BypassPolicyLockoutSafetyCheck
to true, the key policy must allow the principal
that is making the PutKeyPolicy
request to make a subsequent PutKeyPolicy
request on
the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in
the Default Key Policy section of the AWS Key Management Service Developer Guide.
Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.
The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the AWS Key Management Service Developer Guide.
Boolean bypassPolicyLockoutSafetyCheck
A flag to indicate whether to bypass the key policy lockout safety check.
Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.
For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.
Use this parameter only when you intend to prevent the principal that is making the request from making a
subsequent PutKeyPolicy
request on the CMK.
The default value is false.
ByteBuffer ciphertextBlob
Ciphertext of the data to reencrypt.
SdkInternalMap<K,V> sourceEncryptionContext
Specifies the encryption context to use to decrypt the ciphertext. Enter the same encryption context that was used to encrypt the ciphertext.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
String sourceKeyId
A unique identifier for the CMK that is used to decrypt the ciphertext before it reencrypts it using the destination CMK.
This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext before it is reencrypted.
If you specify a KeyId
value, the decrypt part of the ReEncrypt
operation succeeds only
if the specified CMK was used to encrypt the ciphertext.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
String destinationKeyId
A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or asymmetric CMK with a
KeyUsage
value of ENCRYPT_DECRYPT
. To find the KeyUsage
value of a CMK,
use the DescribeKey operation.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
SdkInternalMap<K,V> destinationEncryptionContext
Specifies that encryption context to use when the reencrypting the data.
A destination encryption context is valid only when the destination CMK is a symmetric CMK. The standard ciphertext format for asymmetric CMKs does not include fields for metadata.
An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.
For more information, see Encryption Context in the AWS Key Management Service Developer Guide.
String sourceEncryptionAlgorithm
Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext before it is reencrypted. The
default value, SYMMETRIC_DEFAULT
, represents the algorithm used for symmetric CMKs.
Specify the same algorithm that was used to encrypt the ciphertext. If you specify a different algorithm, the decrypt attempt fails.
This parameter is required only when the ciphertext was encrypted under an asymmetric CMK.
String destinationEncryptionAlgorithm
Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has decrypted it. The
default value, SYMMETRIC_DEFAULT
, represents the encryption algorithm used for symmetric CMKs.
This parameter is required only when the destination CMK is an asymmetric CMK.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
ByteBuffer ciphertextBlob
The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String sourceKeyId
Unique identifier of the CMK used to originally encrypt the data.
String keyId
The Amazon Resource Name (key ARN) of the CMK that was used to reencrypt the data.
String sourceEncryptionAlgorithm
The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
String destinationEncryptionAlgorithm
The encryption algorithm that was used to reencrypt the data.
String grantToken
Token that identifies the grant to be retired.
String keyId
The Amazon Resource Name (ARN) of the CMK associated with the grant.
For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab
String grantId
Unique identifier of the grant to retire. The grant ID is returned in the response to a CreateGrant
operation.
Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123
String keyId
A unique identifier for the customer master key associated with the grant.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String grantId
Identifier of the grant to be revoked.
String keyId
The unique identifier of the customer master key (CMK) to delete.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
Integer pendingWindowInDays
The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK).
This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30.
String keyId
Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the message. The
KeyUsage
type of the CMK must be SIGN_VERIFY
. To find the KeyUsage
of a
CMK, use the DescribeKey operation.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
ByteBuffer message
Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a larger message, provide the message digest.
If you provide a message, AWS KMS generates a hash digest of the message and then signs it.
String messageType
Tells AWS KMS whether the value of the Message
parameter is a message or message digest. The default
value, RAW, indicates a message. To indicate a message digest, enter DIGEST
.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String signingAlgorithm
Specifies the signing algorithm to use when signing the message.
Choose an algorithm that is compatible with the type and size of the specified asymmetric CMK.
String keyId
The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to sign the message.
ByteBuffer signature
The cryptographic signature that was generated for the message.
When used with the supported RSA signing algorithms, the encoding of this value is defined by PKCS #1 in RFC 8017.
When used with the ECDSA_SHA_256
, ECDSA_SHA_384
, or ECDSA_SHA_512
signing
algorithms, this value is a DER-encoded object as defined by ANS X9.62–2005 and RFC 3279 Section 2.2.3. This is the most commonly
used signature format and is appropriate for most uses.
When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
String signingAlgorithm
The signing algorithm that was used to sign the message.
String keyId
A unique identifier for the CMK you are tagging.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
SdkInternalList<T> tags
One or more tags. Each tag consists of a tag key and a tag value.
String keyId
A unique identifier for the CMK from which you are removing tags.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
SdkInternalList<T> tagKeys
One or more tag keys. Specify only the tag keys, not the tag values.
String aliasName
Identifies the alias that is changing its CMK. This value must begin with alias/
followed by the
alias name, such as alias/ExampleAlias
. You cannot use UpdateAlias to change the alias name.
String targetKeyId
Identifies the CMK to associate with the alias. When the update operation completes, the alias will point to this CMK.
The CMK must be in the same AWS account and Region as the alias. Also, the new target CMK must be the same type as the current target CMK (both symmetric or both asymmetric) and they must have the same key usage.
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
To verify that the alias is mapped to the correct CMK, use ListAliases.
String customKeyStoreId
Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
String newCustomKeyStoreName
Changes the friendly name of the custom key store to the value that you specify. The custom key store name must be unique in the AWS account.
String keyStorePassword
Enter the current password of the kmsuser
crypto user (CU) in the AWS CloudHSM cluster that is
associated with the custom key store.
This parameter tells AWS KMS the current password of the kmsuser
crypto user (CU). It does not set
or change the password of any users in the AWS CloudHSM cluster.
String cloudHsmClusterId
Associates the custom key store with a related AWS CloudHSM cluster.
Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, use the DescribeClusters operation.
String keyId
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
String description
New description for the CMK.
String keyId
Identifies the asymmetric CMK that will be used to verify the signature. This must be the same CMK that was used to generate the signature. If you specify a different CMK, the signature verification fails.
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name,
prefix it with "alias/"
. To specify a CMK in a different AWS account, you must use the key ARN or
alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
ByteBuffer message
Specifies the message that was signed. You can submit a raw message of up to 4096 bytes, or a hash digest of the
message. If you submit a digest, use the MessageType
parameter with a value of DIGEST
.
If the message specified here is different from the message that was signed, the signature verification fails. A message and its hash digest are considered to be the same message.
String messageType
Tells AWS KMS whether the value of the Message
parameter is a message or message digest. The default
value, RAW, indicates a message. To indicate a message digest, enter DIGEST
.
Use the DIGEST
value only when the value of the Message
parameter is a message digest.
If you use the DIGEST
value with a raw message, the security of the verification operation can be
compromised.
ByteBuffer signature
The signature that the Sign
operation generated.
String signingAlgorithm
The signing algorithm that was used to sign the message. If you submit a different algorithm, the signature verification fails.
SdkInternalList<T> grantTokens
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
String keyId
The Amazon Resource Name (key ARN) of the asymmetric CMK that was used to verify the signature.
Boolean signatureValid
A Boolean value that indicates whether the signature was verified. A value of True
indicates that
the Signature
was produced by signing the Message
with the specified KeyID
and SigningAlgorithm.
If the signature is not verified, the Verify
operation fails with
a KMSInvalidSignatureException
exception.
String signingAlgorithm
The signing algorithm that was used to verify the signature.
Copyright © 2020. All rights reserved.