Google Cloud Key Management Service v1 API - Class CryptoKeyVersion (3.12.0)

public sealed class CryptoKeyVersion : IMessage<CryptoKeyVersion>, IEquatable<CryptoKeyVersion>, IDeepCloneable<CryptoKeyVersion>, IBufferMessage, IMessage

Reference documentation and code samples for the Google Cloud Key Management Service v1 API class CryptoKeyVersion.

A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the associated key material.

An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be used for cryptographic operations.

For security reasons, the raw cryptographic key material represented by a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.

Inheritance

object > CryptoKeyVersion

Namespace

Google.Cloud.Kms.V1

Assembly

Google.Cloud.Kms.V1.dll

Constructors

CryptoKeyVersion()

public CryptoKeyVersion()

CryptoKeyVersion(CryptoKeyVersion)

public CryptoKeyVersion(CryptoKeyVersion other)
Parameter
Name Description
other CryptoKeyVersion

Properties

Algorithm

public CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm Algorithm { get; set; }

Output only. The [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] supports.

Property Value
Type Description
CryptoKeyVersionTypesCryptoKeyVersionAlgorithm

Attestation

public KeyOperationAttestation Attestation { get; set; }

Output only. Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level] [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 [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.

Property Value
Type Description
Timestamp

CryptoKeyVersionName

public CryptoKeyVersionName CryptoKeyVersionName { get; set; }

CryptoKeyVersionName-typed view over the Name resource name property.

Property Value
Type Description
CryptoKeyVersionName

DestroyEventTime

public Timestamp DestroyEventTime { get; set; }

Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].

Property Value
Type Description
Timestamp

DestroyTime

public Timestamp DestroyTime { get; set; }

Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED].

Property Value
Type Description
Timestamp

ExternalDestructionFailureReason

public string ExternalDestructionFailureReason { get; set; }

Output only. The root cause of the most recent external destruction failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [EXTERNAL_DESTRUCTION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.EXTERNAL_DESTRUCTION_FAILED].

Property Value
Type Description
string

ExternalProtectionLevelOptions

public ExternalProtectionLevelOptions ExternalProtectionLevelOptions { get; set; }

ExternalProtectionLevelOptions stores a group of additional fields for configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] protection levels.

Property Value
Type Description
ExternalProtectionLevelOptions

GenerateTime

public Timestamp GenerateTime { get; set; }

Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was generated.

Property Value
Type Description
Timestamp

GenerationFailureReason

public string GenerationFailureReason { get; set; }

Output only. The root cause of the most recent generation failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [GENERATION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.GENERATION_FAILED].

Property Value
Type Description
string

ImportFailureReason

public string ImportFailureReason { get; set; }

Output only. The root cause of the most recent import failure. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED].

Property Value
Type Description
string

ImportJob

public string ImportJob { get; set; }

Output only. The name of the [ImportJob][google.cloud.kms.v1.ImportJob] used in the most recent import of this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only present if the underlying key material was imported.

Property Value
Type Description
string

ImportTime

public Timestamp ImportTime { get; set; }

Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was most recently imported.

Property Value
Type Description
Timestamp

Name

public string Name { get; set; }

Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.

Property Value
Type Description
string

ProtectionLevel

public ProtectionLevel ProtectionLevel { get; set; }

Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] describing how crypto operations are performed with this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].

Property Value
Type Description
ProtectionLevel

ReimportEligible

public bool ReimportEligible { get; set; }

Output only. Whether or not this key version is eligible for reimport, by being specified as a target in [ImportCryptoKeyVersionRequest.crypto_key_version][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.crypto_key_version].

Property Value
Type Description
bool

State

public CryptoKeyVersion.Types.CryptoKeyVersionState State { get; set; }

The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].

Property Value
Type Description
CryptoKeyVersionTypesCryptoKeyVersionState