AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

This is the response object from the GetParametersForImport operation.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceResponse
    Amazon.KeyManagementService.Model.GetParametersForImportResponse

Namespace: Amazon.KeyManagementService.Model
Assembly: AWSSDK.KeyManagementService.dll
Version: 3.x.y.z

Syntax

C#
public class GetParametersForImportResponse : AmazonWebServiceResponse

The GetParametersForImportResponse type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property ContentLength System.Int64 Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property HttpStatusCode System.Net.HttpStatusCode Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property ImportToken System.IO.MemoryStream

Gets and sets the property ImportToken.

The import token to send in a subsequent ImportKeyMaterial request.

Public Property KeyId System.String

Gets and sets the property KeyId.

The Amazon Resource Name (key ARN) of the KMS key to use in a subsequent ImportKeyMaterial request. This is the same KMS key specified in the GetParametersForImport request.

Public Property ParametersValidTo System.DateTime

Gets and sets the property 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.

Public Property PublicKey System.IO.MemoryStream

Gets and sets the property PublicKey.

The public key to use to encrypt the key material before importing it with ImportKeyMaterial.

Public Property ResponseMetadata Amazon.Runtime.ResponseMetadata Inherited from Amazon.Runtime.AmazonWebServiceResponse.

Examples

The following example downloads a public key and import token to import symmetric encryption key material. It uses the default wrapping key spec and the RSAES_OAEP_SHA_256 wrapping algorithm.

To download the public key and import token for a symmetric encryption KMS key


var client = new AmazonKeyManagementServiceClient();
var response = client.GetParametersForImport(new GetParametersForImportRequest 
{
    KeyId = "1234abcd-12ab-34cd-56ef-1234567890ab", // The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
    WrappingAlgorithm = "RSAES_OAEP_SHA_1", // The algorithm that you will use to encrypt the key material before importing it.
    WrappingKeySpec = "RSA_2048" // The type of wrapping key (public key) to return in the response.
});

MemoryStream importToken = response.ImportToken; // The import token to send with a subsequent ImportKeyMaterial request.
string keyId = response.KeyId; // The ARN of the KMS key that will be associated with the imported key material.
DateTime parametersValidTo = response.ParametersValidTo; // The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
MemoryStream publicKey = response.PublicKey; // The public key to use to encrypt the key material before importing it.

            

The following example downloads a public key and import token to import an RSA private key. It uses a required RSA_AES wrapping algorithm and the largest supported private key.

To download the public key and import token for an RSA asymmetric KMS key


var client = new AmazonKeyManagementServiceClient();
var response = client.GetParametersForImport(new GetParametersForImportRequest 
{
    KeyId = "arn:aws:kms:us-east-2:111122223333:key/8888abcd-12ab-34cd-56ef-1234567890ab", // The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
    WrappingAlgorithm = "RSA_AES_KEY_WRAP_SHA_256", // The algorithm that you will use to encrypt the key material before importing it.
    WrappingKeySpec = "RSA_4096" // The type of wrapping key (public key) to return in the response.
});

MemoryStream importToken = response.ImportToken; // The import token to send with a subsequent ImportKeyMaterial request.
string keyId = response.KeyId; // The ARN of the KMS key that will be associated with the imported key material.
DateTime parametersValidTo = response.ParametersValidTo; // The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
MemoryStream publicKey = response.PublicKey; // The public key to use to encrypt the key material before importing it.

            

The following example downloads a public key and import token to import an ECC_NIST_P521 (secp521r1) private key. You cannot directly wrap this ECC key under an RSA_2048 public key, although you can use an RSA_2048 public key with an RSA_AES wrapping algorithm to wrap any supported key material. This example requests an RSA_3072 public key for use with the RSAES_OAEP_SHA_256.

To download the public key and import token for an elliptic curve (ECC) asymmetric KMS key


var client = new AmazonKeyManagementServiceClient();
var response = client.GetParametersForImport(new GetParametersForImportRequest 
{
    KeyId = "arn:aws:kms:us-east-2:111122223333:key/9876abcd-12ab-34cd-56ef-1234567890ab", // The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
    WrappingAlgorithm = "RSAES_OAEP_SHA_256", // The algorithm that you will use to encrypt the key material before importing it.
    WrappingKeySpec = "RSA_3072" // The type of wrapping key (public key) to return in the response.
});

MemoryStream importToken = response.ImportToken; // The import token to send with a subsequent ImportKeyMaterial request.
string keyId = response.KeyId; // The ARN of the KMS key that will be associated with the imported key material.
DateTime parametersValidTo = response.ParametersValidTo; // The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
MemoryStream publicKey = response.PublicKey; // The public key to use to encrypt the key material before importing it.

            

The following example downloads a public key and import token to import an HMAC key. It uses the RSAES_OAEP_SHA_256 wrapping algorithm and an RSA_4096 private key.

To download the public key and import token for an HMAC KMS key


var client = new AmazonKeyManagementServiceClient();
var response = client.GetParametersForImport(new GetParametersForImportRequest 
{
    KeyId = "2468abcd-12ab-34cd-56ef-1234567890ab", // The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
    WrappingAlgorithm = "RSAES_OAEP_SHA_256", // The algorithm that you will use to encrypt the key material before importing it.
    WrappingKeySpec = "RSA_4096" // The type of wrapping key (public key) to return in the response.
});

MemoryStream importToken = response.ImportToken; // The import token to send with a subsequent ImportKeyMaterial request.
string keyId = response.KeyId; // The ARN of the KMS key that will be associated with the imported key material.
DateTime parametersValidTo = response.ParametersValidTo; // The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
MemoryStream publicKey = response.PublicKey; // The public key to use to encrypt the key material before importing it.

            

Version Information

.NET Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5, 4.0, 3.5