public sealed class CertificateConfig : IMessage<CertificateConfig>, IEquatable<CertificateConfig>, IDeepCloneable<CertificateConfig>, IBufferMessage, IMessage
Reference documentation and code samples for the Certificate Authority v1 API class CertificateConfig.
A [CertificateConfig][google.cloud.security.privateca.v1.CertificateConfig]
describes an X.509 certificate or CSR that is to be created, as an
alternative to using ASN.1.
Optional. The public key that corresponds to this config. This is, for
example, used when issuing
[Certificates][google.cloud.security.privateca.v1.Certificate], but not
when creating a self-signed
[CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
or
[CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
CSR.
public CertificateConfig.Types.KeyId SubjectKeyId { get; set; }
Optional. When specified this provides a custom SKI to be used in the
certificate. This should only be used to maintain a SKI of an existing CA
originally created outside CA service, which was not generated using method
(1) described in RFC 5280 section 4.2.1.2.
[[["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 document provides reference documentation for the \u003ccode\u003eCertificateConfig\u003c/code\u003e class within the Google Cloud Security Private CA v1 API, detailing its structure and functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCertificateConfig\u003c/code\u003e class is used to describe an X.509 certificate or CSR that is to be created, serving as an alternative to using ASN.1 and it inherits from \u003ccode\u003eobject\u003c/code\u003e and implements multiple interfaces, such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe document lists all available versions for \u003ccode\u003eCertificateConfig\u003c/code\u003e, starting from version 1.0.0 up to the latest version, 3.9.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCertificateConfig\u003c/code\u003e class has several key properties, including \u003ccode\u003ePublicKey\u003c/code\u003e, \u003ccode\u003eSubjectConfig\u003c/code\u003e, \u003ccode\u003eSubjectKeyId\u003c/code\u003e, and \u003ccode\u003eX509Config\u003c/code\u003e, which are used to define the details of a certificate.\u003c/p\u003e\n"],["\u003cp\u003eThe document shows that \u003ccode\u003eCertificateConfig\u003c/code\u003e has two constructors, one default and another one that accepts another \u003ccode\u003eCertificateConfig\u003c/code\u003e object, this allow for copying and manipulation of certificate configurations.\u003c/p\u003e\n"]]],[],null,["# Certificate Authority v1 API - Class CertificateConfig (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/latest/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.9.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.8.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.7.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.6.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.5.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.4.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.3.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.2.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.1.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/3.0.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/2.3.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/2.2.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/2.1.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/2.0.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/1.0.0/Google.Cloud.Security.PrivateCA.V1.CertificateConfig) \n\n public sealed class CertificateConfig : IMessage\u003cCertificateConfig\u003e, IEquatable\u003cCertificateConfig\u003e, IDeepCloneable\u003cCertificateConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Certificate Authority v1 API class CertificateConfig.\n\nA \\[CertificateConfig\\]\\[google.cloud.security.privateca.v1.CertificateConfig\\]\ndescribes an X.509 certificate or CSR that is to be created, as an\nalternative to using ASN.1. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e CertificateConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[CertificateConfig](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/latest/Google.Cloud.Security.PrivateCA.V1.CertificateConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[CertificateConfig](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/latest/Google.Cloud.Security.PrivateCA.V1.CertificateConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[CertificateConfig](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/latest/Google.Cloud.Security.PrivateCA.V1.CertificateConfig), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Security.PrivateCA.V1](/dotnet/docs/reference/Google.Cloud.Security.PrivateCA.V1/latest/Google.Cloud.Security.PrivateCA.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Security.PrivateCA.V1.dll\n\nConstructors\n------------\n\n### CertificateConfig()\n\n public CertificateConfig()\n\n### CertificateConfig(CertificateConfig)\n\n public CertificateConfig(CertificateConfig other)\n\nProperties\n----------\n\n### PublicKey\n\n public PublicKey PublicKey { get; set; }\n\nOptional. The public key that corresponds to this config. This is, for\nexample, used when issuing\n\\[Certificates\\]\\[google.cloud.security.privateca.v1.Certificate\\], but not\nwhen creating a self-signed\n\\[CertificateAuthority\\]\\[google.cloud.security.privateca.v1.CertificateAuthority\\]\nor\n\\[CertificateAuthority\\]\\[google.cloud.security.privateca.v1.CertificateAuthority\\]\nCSR.\n\n### SubjectConfig\n\n public CertificateConfig.Types.SubjectConfig SubjectConfig { get; set; }\n\nRequired. Specifies some of the values in a certificate that are related to\nthe subject.\n\n### SubjectKeyId\n\n public CertificateConfig.Types.KeyId SubjectKeyId { get; set; }\n\nOptional. When specified this provides a custom SKI to be used in the\ncertificate. This should only be used to maintain a SKI of an existing CA\noriginally created outside CA service, which was not generated using method\n(1) described in RFC 5280 section 4.2.1.2.\n\n### X509Config\n\n public X509Parameters X509Config { get; set; }\n\nRequired. Describes how some of the technical X.509 fields in a certificate\nshould be populated."]]