public sealed class ImportJob : IMessage<ImportJob>, IEquatable<ImportJob>, IDeepCloneable<ImportJob>, IBufferMessage, IMessage
An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, generated outside of Cloud KMS.
When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of [import_method][google.cloud.kms.v1.ImportJob.import_method]. When the wrapping key generation is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the [public_key][google.cloud.kms.v1.ImportJob.public_key] can be fetched. The fetched public key can then be used to wrap your pre-existing key material.
Once the key material is wrapped, it can be imported into a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be imported with a single [ImportJob][google.cloud.kms.v1.ImportJob]. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.
An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the [ImportJob][google.cloud.kms.v1.ImportJob]'s public key.
For more information, see Importing a key.
Implements
IMessage<ImportJob>, IEquatable<ImportJob>, IDeepCloneable<ImportJob>, IBufferMessage, IMessageNamespace
Google.Cloud.Kms.V1Assembly
Google.Cloud.Kms.V1.dll
Constructors
ImportJob()
public ImportJob()
ImportJob(ImportJob)
public ImportJob(ImportJob other)
Parameter | |
---|---|
Name | Description |
other | ImportJob |
Properties
Attestation
public KeyOperationAttestation Attestation { get; set; }
Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] is one with a protection level of [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].
Property Value | |
---|---|
Type | Description |
KeyOperationAttestation |
CreateTime
public Timestamp CreateTime { get; set; }
Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] was created.
Property Value | |
---|---|
Type | Description |
Timestamp |
ExpireEventTime
public Timestamp ExpireEventTime { get; set; }
Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob] expired. Only present if [state][google.cloud.kms.v1.ImportJob.state] is [EXPIRED][google.cloud.kms.v1.ImportJob.ImportJobState.EXPIRED].
Property Value | |
---|---|
Type | Description |
Timestamp |
ExpireTime
public Timestamp ExpireTime { get; set; }
Output only. The time at which this [ImportJob][google.cloud.kms.v1.ImportJob] is scheduled for expiration and can no longer be used to import key material.
Property Value | |
---|---|
Type | Description |
Timestamp |
GenerateTime
public Timestamp GenerateTime { get; set; }
Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]'s key material was generated.
Property Value | |
---|---|
Type | Description |
Timestamp |
ImportJobName
public ImportJobName ImportJobName { get; set; }
ImportJobName-typed view over the Name resource name property.
Property Value | |
---|---|
Type | Description |
ImportJobName |
ImportMethod
public ImportJob.Types.ImportMethod ImportMethod { get; set; }
Required. Immutable. The wrapping method to be used for incoming key material.
Property Value | |
---|---|
Type | Description |
ImportJob.Types.ImportMethod |
Name
public string Name { get; set; }
Output only. The resource name for this [ImportJob][google.cloud.kms.v1.ImportJob] in the format
projects/*/locations/*/keyRings/*/importJobs/*
.
Property Value | |
---|---|
Type | Description |
String |
ProtectionLevel
public ProtectionLevel ProtectionLevel { get; set; }
Required. Immutable. The protection level of the [ImportJob][google.cloud.kms.v1.ImportJob]. This must match the [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] of the [version_template][google.cloud.kms.v1.CryptoKey.version_template] on the [CryptoKey][google.cloud.kms.v1.CryptoKey] you attempt to import into.
Property Value | |
---|---|
Type | Description |
ProtectionLevel |
PublicKey
public ImportJob.Types.WrappingPublicKey PublicKey { get; set; }
Output only. The public key with which to wrap key material prior to import. Only returned if [state][google.cloud.kms.v1.ImportJob.state] is [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE].
Property Value | |
---|---|
Type | Description |
ImportJob.Types.WrappingPublicKey |
State
public ImportJob.Types.ImportJobState State { get; set; }
Output only. The current state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used.
Property Value | |
---|---|
Type | Description |
ImportJob.Types.ImportJobState |