Classes
The following classes are available globally.
-
Contains information about an alias.
See moreDeclaration
Objective-C
@interface AWSKMSAliasListEntrySwift
class AWSKMSAliasListEntry -
Declaration
Objective-C
@interface AWSKMSCancelKeyDeletionRequestSwift
class AWSKMSCancelKeyDeletionRequest -
Declaration
Objective-C
@interface AWSKMSCancelKeyDeletionResponseSwift
class AWSKMSCancelKeyDeletionResponse -
Declaration
Objective-C
@interface AWSKMSConnectCustomKeyStoreRequestSwift
class AWSKMSConnectCustomKeyStoreRequest -
Declaration
Objective-C
@interface AWSKMSConnectCustomKeyStoreResponseSwift
class AWSKMSConnectCustomKeyStoreResponse -
Declaration
Objective-C
@interface AWSKMSCreateAliasRequestSwift
class AWSKMSCreateAliasRequest -
Declaration
Objective-C
@interface AWSKMSCreateCustomKeyStoreRequestSwift
class AWSKMSCreateCustomKeyStoreRequest -
Declaration
Objective-C
@interface AWSKMSCreateCustomKeyStoreResponseSwift
class AWSKMSCreateCustomKeyStoreResponse -
Declaration
Objective-C
@interface AWSKMSCreateGrantRequestSwift
class AWSKMSCreateGrantRequest -
Declaration
Objective-C
@interface AWSKMSCreateGrantResponseSwift
class AWSKMSCreateGrantResponse -
Declaration
Objective-C
@interface AWSKMSCreateKeyRequestSwift
class AWSKMSCreateKeyRequest -
Declaration
Objective-C
@interface AWSKMSCreateKeyResponseSwift
class AWSKMSCreateKeyResponse -
Contains information about each custom key store in the custom key store list.
See moreDeclaration
Objective-C
@interface AWSKMSCustomKeyStoresListEntrySwift
class AWSKMSCustomKeyStoresListEntry -
Declaration
Objective-C
@interface AWSKMSDecryptRequestSwift
class AWSKMSDecryptRequest -
Declaration
Objective-C
@interface AWSKMSDecryptResponseSwift
class AWSKMSDecryptResponse -
Declaration
Objective-C
@interface AWSKMSDeleteAliasRequestSwift
class AWSKMSDeleteAliasRequest -
Declaration
Objective-C
@interface AWSKMSDeleteCustomKeyStoreRequestSwift
class AWSKMSDeleteCustomKeyStoreRequest -
Declaration
Objective-C
@interface AWSKMSDeleteCustomKeyStoreResponseSwift
class AWSKMSDeleteCustomKeyStoreResponse -
Declaration
Objective-C
@interface AWSKMSDeleteImportedKeyMaterialRequestSwift
class AWSKMSDeleteImportedKeyMaterialRequest -
Declaration
Objective-C
@interface AWSKMSDeriveSharedSecretRequestSwift
class AWSKMSDeriveSharedSecretRequest -
Declaration
Objective-C
@interface AWSKMSDeriveSharedSecretResponseSwift
class AWSKMSDeriveSharedSecretResponse -
Declaration
Objective-C
@interface AWSKMSDescribeCustomKeyStoresRequestSwift
class AWSKMSDescribeCustomKeyStoresRequest -
Declaration
Objective-C
@interface AWSKMSDescribeCustomKeyStoresResponseSwift
class AWSKMSDescribeCustomKeyStoresResponse -
Declaration
Objective-C
@interface AWSKMSDescribeKeyRequestSwift
class AWSKMSDescribeKeyRequest -
Declaration
Objective-C
@interface AWSKMSDescribeKeyResponseSwift
class AWSKMSDescribeKeyResponse -
Declaration
Objective-C
@interface AWSKMSDisableKeyRequestSwift
class AWSKMSDisableKeyRequest -
Declaration
Objective-C
@interface AWSKMSDisableKeyRotationRequestSwift
class AWSKMSDisableKeyRotationRequest -
Declaration
Objective-C
@interface AWSKMSDisconnectCustomKeyStoreRequestSwift
class AWSKMSDisconnectCustomKeyStoreRequest -
Declaration
Objective-C
@interface AWSKMSDisconnectCustomKeyStoreResponseSwift
class AWSKMSDisconnectCustomKeyStoreResponse -
Declaration
Objective-C
@interface AWSKMSEnableKeyRequestSwift
class AWSKMSEnableKeyRequest -
Declaration
Objective-C
@interface AWSKMSEnableKeyRotationRequestSwift
class AWSKMSEnableKeyRotationRequest -
Declaration
Objective-C
@interface AWSKMSEncryptRequestSwift
class AWSKMSEncryptRequest -
Declaration
Objective-C
@interface AWSKMSEncryptResponseSwift
class AWSKMSEncryptResponse -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyPairRequestSwift
class AWSKMSGenerateDataKeyPairRequest -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyPairResponseSwift
class AWSKMSGenerateDataKeyPairResponse -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyPairWithoutPlaintextRequestSwift
class AWSKMSGenerateDataKeyPairWithoutPlaintextRequest -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyPairWithoutPlaintextResponseSwift
class AWSKMSGenerateDataKeyPairWithoutPlaintextResponse -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyRequestSwift
class AWSKMSGenerateDataKeyRequest -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyResponseSwift
class AWSKMSGenerateDataKeyResponse -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyWithoutPlaintextRequestSwift
class AWSKMSGenerateDataKeyWithoutPlaintextRequest -
Declaration
Objective-C
@interface AWSKMSGenerateDataKeyWithoutPlaintextResponseSwift
class AWSKMSGenerateDataKeyWithoutPlaintextResponse -
Declaration
Objective-C
@interface AWSKMSGenerateMacRequestSwift
class AWSKMSGenerateMacRequest -
Declaration
Objective-C
@interface AWSKMSGenerateMacResponseSwift
class AWSKMSGenerateMacResponse -
Declaration
Objective-C
@interface AWSKMSGenerateRandomRequestSwift
class AWSKMSGenerateRandomRequest -
Declaration
Objective-C
@interface AWSKMSGenerateRandomResponseSwift
class AWSKMSGenerateRandomResponse -
Declaration
Objective-C
@interface AWSKMSGetKeyPolicyRequestSwift
class AWSKMSGetKeyPolicyRequest -
Declaration
Objective-C
@interface AWSKMSGetKeyPolicyResponseSwift
class AWSKMSGetKeyPolicyResponse -
Declaration
Objective-C
@interface AWSKMSGetKeyRotationStatusRequestSwift
class AWSKMSGetKeyRotationStatusRequest -
Declaration
Objective-C
@interface AWSKMSGetKeyRotationStatusResponseSwift
class AWSKMSGetKeyRotationStatusResponse -
Declaration
Objective-C
@interface AWSKMSGetParametersForImportRequestSwift
class AWSKMSGetParametersForImportRequest -
Declaration
Objective-C
@interface AWSKMSGetParametersForImportResponseSwift
class AWSKMSGetParametersForImportResponse -
Declaration
Objective-C
@interface AWSKMSGetPublicKeyRequestSwift
class AWSKMSGetPublicKeyRequest -
Declaration
Objective-C
@interface AWSKMSGetPublicKeyResponseSwift
class AWSKMSGetPublicKeyResponse -
Use this structure to allow cryptographic operations in the grant only when the operation request includes the specified encryption context.
KMS applies the grant constraints only to cryptographic operations that support an encryption context, that is, all cryptographic operations with a symmetric KMS key. Grant constraints are not applied to operations that do not support an encryption context, such as cryptographic operations with asymmetric KMS keys and management operations, such as DescribeKey or RetireGrant.
See moreIn a cryptographic operation, the encryption context in the decryption operation must be an exact, case-sensitive match for the keys and values in the encryption context of the encryption operation. Only the order of the pairs can vary.
However, in a grant constraint, the key in each key-value pair is not case sensitive, but the value is case sensitive.
To avoid confusion, do not use multiple encryption context pairs that differ only by case. To require a fully case-sensitive encryption context, use the
kms:EncryptionContext:andkms:EncryptionContextKeysconditions in an IAM or key policy. For details, see kms:EncryptionContext: in the Key Management Service Developer Guide.Declaration
Objective-C
@interface AWSKMSGrantConstraintsSwift
class AWSKMSGrantConstraints -
Contains information about a grant.
See moreDeclaration
Objective-C
@interface AWSKMSGrantListEntrySwift
class AWSKMSGrantListEntry -
Declaration
Objective-C
@interface AWSKMSImportKeyMaterialRequestSwift
class AWSKMSImportKeyMaterialRequest -
Declaration
Objective-C
@interface AWSKMSImportKeyMaterialResponseSwift
class AWSKMSImportKeyMaterialResponse -
Contains information about each entry in the key list.
See moreDeclaration
Objective-C
@interface AWSKMSKeyListEntrySwift
class AWSKMSKeyListEntry -
Contains metadata about a KMS key.
This data type is used as a response element for the CreateKey, DescribeKey, and ReplicateKey operations.
Required parameters: [KeyId]
See moreDeclaration
Objective-C
@interface AWSKMSKeyMetadataSwift
class AWSKMSKeyMetadata -
Declaration
Objective-C
@interface AWSKMSListAliasesRequestSwift
class AWSKMSListAliasesRequest -
Declaration
Objective-C
@interface AWSKMSListAliasesResponseSwift
class AWSKMSListAliasesResponse -
Declaration
Objective-C
@interface AWSKMSListGrantsRequestSwift
class AWSKMSListGrantsRequest -
Declaration
Objective-C
@interface AWSKMSListGrantsResponseSwift
class AWSKMSListGrantsResponse -
Declaration
Objective-C
@interface AWSKMSListKeyPoliciesRequestSwift
class AWSKMSListKeyPoliciesRequest -
Declaration
Objective-C
@interface AWSKMSListKeyPoliciesResponseSwift
class AWSKMSListKeyPoliciesResponse -
Declaration
Objective-C
@interface AWSKMSListKeyRotationsRequestSwift
class AWSKMSListKeyRotationsRequest -
Declaration
Objective-C
@interface AWSKMSListKeyRotationsResponseSwift
class AWSKMSListKeyRotationsResponse -
Declaration
Objective-C
@interface AWSKMSListKeysRequestSwift
class AWSKMSListKeysRequest -
Declaration
Objective-C
@interface AWSKMSListKeysResponseSwift
class AWSKMSListKeysResponse -
Declaration
Objective-C
@interface AWSKMSListResourceTagsRequestSwift
class AWSKMSListResourceTagsRequest -
Declaration
Objective-C
@interface AWSKMSListResourceTagsResponseSwift
class AWSKMSListResourceTagsResponse -
Declaration
Objective-C
@interface AWSKMSListRetirableGrantsRequestSwift
class AWSKMSListRetirableGrantsRequest -
Describes the configuration of this multi-Region key. This field appears only when the KMS key is a primary or replica of a multi-Region key.
For more information about any listed KMS key, use the DescribeKey operation.
See moreDeclaration
Objective-C
@interface AWSKMSMultiRegionConfigurationSwift
class AWSKMSMultiRegionConfiguration -
Describes the primary or replica key in a multi-Region key.
See moreDeclaration
Objective-C
@interface AWSKMSMultiRegionKeySwift
class AWSKMSMultiRegionKey -
Declaration
Objective-C
@interface AWSKMSPutKeyPolicyRequestSwift
class AWSKMSPutKeyPolicyRequest -
Declaration
Objective-C
@interface AWSKMSReEncryptRequestSwift
class AWSKMSReEncryptRequest -
Declaration
Objective-C
@interface AWSKMSReEncryptResponseSwift
class AWSKMSReEncryptResponse -
Contains information about the party that receives the response from the API operation.
This data type is designed to support Amazon Web Services Nitro Enclaves, which lets you create an isolated compute environment in Amazon EC2. 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.
See moreDeclaration
Objective-C
@interface AWSKMSRecipientInfoSwift
class AWSKMSRecipientInfo -
Declaration
Objective-C
@interface AWSKMSReplicateKeyRequestSwift
class AWSKMSReplicateKeyRequest -
Declaration
Objective-C
@interface AWSKMSReplicateKeyResponseSwift
class AWSKMSReplicateKeyResponse -
Declaration
Objective-C
@interface AWSKMSRetireGrantRequestSwift
class AWSKMSRetireGrantRequest -
Declaration
Objective-C
@interface AWSKMSRevokeGrantRequestSwift
class AWSKMSRevokeGrantRequest -
Declaration
Objective-C
@interface AWSKMSRotateKeyOnDemandRequestSwift
class AWSKMSRotateKeyOnDemandRequest -
Declaration
Objective-C
@interface AWSKMSRotateKeyOnDemandResponseSwift
class AWSKMSRotateKeyOnDemandResponse -
Contains information about completed key material rotations.
See moreDeclaration
Objective-C
@interface AWSKMSRotationsListEntrySwift
class AWSKMSRotationsListEntry -
Declaration
Objective-C
@interface AWSKMSScheduleKeyDeletionRequestSwift
class AWSKMSScheduleKeyDeletionRequest -
Declaration
Objective-C
@interface AWSKMSScheduleKeyDeletionResponseSwift
class AWSKMSScheduleKeyDeletionResponse -
Declaration
Objective-C
@interface AWSKMSSignRequestSwift
class AWSKMSSignRequest -
Declaration
Objective-C
@interface AWSKMSSignResponseSwift
class AWSKMSSignResponse -
A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.
Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the Amazon Web Services Billing and Cost Management User Guide.
Required parameters: [TagKey, TagValue]
See moreDeclaration
Objective-C
@interface AWSKMSTagSwift
class AWSKMSTag -
Declaration
Objective-C
@interface AWSKMSTagResourceRequestSwift
class AWSKMSTagResourceRequest -
Declaration
Objective-C
@interface AWSKMSUntagResourceRequestSwift
class AWSKMSUntagResourceRequest -
Declaration
Objective-C
@interface AWSKMSUpdateAliasRequestSwift
class AWSKMSUpdateAliasRequest -
Declaration
Objective-C
@interface AWSKMSUpdateCustomKeyStoreRequestSwift
class AWSKMSUpdateCustomKeyStoreRequest -
Declaration
Objective-C
@interface AWSKMSUpdateCustomKeyStoreResponseSwift
class AWSKMSUpdateCustomKeyStoreResponse -
Declaration
Objective-C
@interface AWSKMSUpdateKeyDescriptionRequestSwift
class AWSKMSUpdateKeyDescriptionRequest -
Declaration
Objective-C
@interface AWSKMSUpdatePrimaryRegionRequestSwift
class AWSKMSUpdatePrimaryRegionRequest -
Declaration
Objective-C
@interface AWSKMSVerifyMacRequestSwift
class AWSKMSVerifyMacRequest -
Declaration
Objective-C
@interface AWSKMSVerifyMacResponseSwift
class AWSKMSVerifyMacResponse -
Declaration
Objective-C
@interface AWSKMSVerifyRequestSwift
class AWSKMSVerifyRequest -
Declaration
Objective-C
@interface AWSKMSVerifyResponseSwift
class AWSKMSVerifyResponse -
Information about the external key that is associated with a KMS key in an external key store.
This element appears in a CreateKey or DescribeKey response only for a KMS key in an external key store.
The external key is a symmetric encryption key that is hosted by an external key manager outside of Amazon Web Services. When you use the KMS key in an external key store in a cryptographic operation, the cryptographic operation is performed in the external key manager using the specified external key. For more information, see External key in the Key Management Service Developer Guide.
See moreDeclaration
Objective-C
@interface AWSKMSXksKeyConfigurationTypeSwift
class AWSKMSXksKeyConfigurationType -
KMS uses the authentication credential to sign requests that it sends to the external key store proxy (XKS proxy) on your behalf. You establish these credentials on your external key store proxy and report them to KMS.
The
XksProxyAuthenticationCredentialincludes two required elements.Required parameters: [AccessKeyId, RawSecretAccessKey]
See moreDeclaration
Objective-C
@interface AWSKMSXksProxyAuthenticationCredentialTypeSwift
class AWSKMSXksProxyAuthenticationCredentialType -
Detailed information about the external key store proxy (XKS proxy). Your external key store proxy translates KMS requests into a format that your external key manager can understand. These fields appear in a DescribeCustomKeyStores response only when the
See moreCustomKeyStoreTypeisEXTERNAL_KEY_STORE.Declaration
Objective-C
@interface AWSKMSXksProxyConfigurationTypeSwift
class AWSKMSXksProxyConfigurationType -
Undocumented
See moreDeclaration
Objective-C
@interface AWSKMSResources : NSObject + (instancetype)sharedInstance; - (NSDictionary *)JSONObject; @endSwift
class AWSKMSResources : NSObject -
Key Management Service Key Management Service (KMS) is an encryption and key management web service. This guide describes the KMS operations that you can call programmatically. For general information about KMS, see the Key Management Service Developer Guide.
KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
Amazon Web Services provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to KMS and other Amazon Web Services services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to download and install them, see Tools for Amazon Web Services.
We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.
If you need to use FIPS 140-2 validated cryptographic modules when communicating with Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the available FIPS endpoints, see Service endpoints in the Key Management Service topic of the Amazon Web Services General Reference.
All KMS API calls must be signed and be transmitted using Transport Layer Security (TLS). KMS recommends you always use the latest supported TLS version. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.
Signing Requests
Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your Amazon Web Services account root access key ID and secret access key for everyday work. You can use the access key ID and secret access key for an IAM user or you can use the Security Token Service (STS) to generate temporary security credentials and use those to sign requests.
All KMS requests must be signed with Signature Version 4.
Logging API Requests
KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the CloudTrail User Guide.
Additional Resources
For more information about credentials and request signing, see the following:
Amazon Web Services Security Credentials - This topic provides general information about the types of credentials used to access Amazon Web Services.
Temporary Security Credentials - This section of the IAM User Guide describes how to create and use temporary security credentials.
Signature Version 4 Signing Process - This set of topics walks you through the process of signing a request using an access key ID and a secret access key.
Commonly Used API Operations
Of the API operations discussed in this guide, the following will prove the most useful for most applications. You will likely perform operations other than these, such as creating keys and assigning policies, by using the console.
See moreDeclaration
Objective-C
@interface AWSKMSSwift
class AWSKMS
View on GitHub
Install in Dash
Classes Reference