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.
Implements
IMessageCryptoKeyVersion, IEquatableCryptoKeyVersion, IDeepCloneableCryptoKeyVersion, IBufferMessage, IMessageNamespace
GoogleGoogle.CloudGoogle.Cloud.KmsV1Assembly
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 |