Class CryptoKeyVersion (2.5.0)

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

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
NameDescription
otherCryptoKeyVersion

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
TypeDescription
CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm

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
TypeDescription
KeyOperationAttestation

CreateTime

public Timestamp CreateTime { get; set; }

Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.

Property Value
TypeDescription
Timestamp

CryptoKeyVersionName

public CryptoKeyVersionName CryptoKeyVersionName { get; set; }

CryptoKeyVersionName-typed view over the Name resource name property.

Property Value
TypeDescription
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
TypeDescription
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
TypeDescription
Timestamp

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.

Property Value
TypeDescription
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
TypeDescription
Timestamp

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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
Boolean

State

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

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

Property Value
TypeDescription
CryptoKeyVersion.Types.CryptoKeyVersionState