public sealed class KeyVersionSpec : IMessage<CertificateAuthority.Types.KeyVersionSpec>, IEquatable<CertificateAuthority.Types.KeyVersionSpec>, IDeepCloneable<CertificateAuthority.Types.KeyVersionSpec>, IBufferMessage, IMessage
A Cloud KMS key configuration that a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will use.
public CertificateAuthority.Types.SignHashAlgorithm Algorithm { get; set; }
The algorithm to use for creating a managed Cloud KMS key for a for a
simplified experience. All managed keys will be have their
[ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] as HSM.
The resource name for an existing Cloud KMS CryptoKeyVersion in the
format
projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*.
This option enables full flexibility in the key's capabilities and
properties.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage details the \u003ccode\u003eKeyVersionSpec\u003c/code\u003e class, which is used to configure a Cloud KMS key for use by a \u003ccode\u003eCertificateAuthority\u003c/code\u003e in Google Cloud Security's Private CA service.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKeyVersionSpec\u003c/code\u003e class offers two ways to specify the key: either by letting Google manage the key with a specified algorithm or by providing the resource name of an existing Cloud KMS \u003ccode\u003eCryptoKeyVersion\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for the \u003ccode\u003eKeyVersionSpec\u003c/code\u003e is 3.9.0, and it is part of the \u003ccode\u003eGoogle.Cloud.Security.PrivateCA.V1\u003c/code\u003e namespace, with version history going as far back as 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eKeyVersionSpec\u003c/code\u003e implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits members from the \u003ccode\u003eObject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors for the \u003ccode\u003eKeyVersionSpec\u003c/code\u003e class, one being a parameterless constructor, and the other one allowing the creation of a new instance by cloning an existing \u003ccode\u003eCertificateAuthority.Types.KeyVersionSpec\u003c/code\u003e object.\u003c/p\u003e\n"]]],[],null,[]]