{"id":4801,"date":"2026-08-18T07:27:07","date_gmt":"2026-08-18T07:27:07","guid":{"rendered":"https:\/\/signmycode.com\/resources\/?p=4801"},"modified":"2026-08-18T08:41:40","modified_gmt":"2026-08-18T08:41:40","slug":"how-to-use-google-cloud-kms-for-digicert-code-signing","status":"publish","type":"post","link":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/","title":{"rendered":"How to Use Google  KMS for DigiCert Code Signing?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Setting up DigiCert Code Signing with Google Cloud KMS provides a secure way to <a href=\"https:\/\/signmycode.com\/blog\/top-best-practices-for-storing-x-509-private-keys\/\">protect your code-signing keys<\/a> while enabling trusted digital signatures. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The important point is that the private key must be generated inside Cloud KMS and should never be exported. You can use <strong>Google Cloud KMS as the hardware-backed key storage<\/strong> for a <a href=\"https:\/\/signmycode.com\/digicert-code-signing\">DigiCert Code Signing Certificate<\/a>. When placing your order, select <strong>\u201cInstall on Existing HSM\u201d<\/strong> as the delivery method to use your Google Cloud KMS environment for secure key storage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide walks through the key steps to configure Google Cloud KMS for DigiCert Code Signing using the Google Cloud command-line interface (CLI). If you want to <a href=\"https:\/\/signmycode.com\/resources\/sectigo-code-signing-implementations-on-google-kms-key-management-service\/\">use the Google KMS API, you can follow this guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">In Simple Terms<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Private key \u2192 <\/strong>Stays in Google Cloud KMS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Certificate \u2192 <\/strong>DigiCert OV or EV Code Signing<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Signing Operation \u2192 <\/strong>Performed using the KMS private key<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites&nbsp;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Google Cloud project with a HSM Setup<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Cloud HSM Admin and Cloud KMS&nbsp;CryptoKey&nbsp;Encrypter\/Decrypter&nbsp;Identity and Access Management (IAM) roles&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Google Cloud command-line interface (CLI) installed&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenSSL installed for creating the CSR<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Obtain an Attestation File and CSR from Google Cloud HSM?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create a Google Cloud Project<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open your <a href=\"https:\/\/console.cloud.google.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Google Cloud Console<\/a> and create or select the project that will be used for code signing.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># Enable Cloud KMS API:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud services enable cloudkms.googleapis.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You will also need appropriate IAM permissions for the account that will create and use the key.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># Create a service account for signing<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud iam service-accounts create codesign-signer \\\n--display-name \"Code Signing Service Account\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"># Grant Signing Permission on the Key<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud kms keys add-iam-policy-binding codesign-key \\\n&nbsp; --keyring codesign-keyring \\\n&nbsp; --location global \\\n&nbsp; --member \"serviceAccount:codesign-signer@YOUR_PROJECT.iam.gserviceaccount.com\" \\\n&nbsp; --role \"roles\/cloudkms.signerVerifier\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"># Create a Service Account Key File (for use outside GCP)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud iam service-accounts keys create ~\/codesign-sa-key.json \\\n&nbsp; --iam-account codesign-signer@YOUR_PROJECT.iam.gserviceaccount.com<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create a Cloud KMS Key Ring<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud kms keyrings create codesign-keyring \\\n&nbsp; --location=global<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-extra-small-font-size wp-block-paragraph\"><strong>Note<\/strong>: You can choose any name for your keyring and use another supported location if it better fits your infrastructure. Here, we have used <mark style=\"background-color:rgba(0, 0, 0, 0);color:#00b373\" class=\"has-inline-color\"><strong>codesign-keyring<\/strong> <\/mark>for the key ring.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create the Signing Key (HSM-backed)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create an asymmetric signing key for code signing. For a typical Windows Authenticode workflow, RSA is the practical choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For example:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud kms keys create digicertcodesign-key\\\n&nbsp; --location=global \\\n&nbsp; --keyring= codesign-key \\\n&nbsp; --purpose=asymmetric-signing \\\n&nbsp; --default-algorithm=rsa-sign-pss-4096-sha256<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This creates the private key inside Cloud KMS. You can replace or choose any name for key (here we have taken <strong>digicertcodesign-key)<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-extra-small-font-size wp-block-paragraph\"><strong>Note:<\/strong> The private key is generated within the HSM and cannot be exported per the <a href=\"https:\/\/signmycode.com\/blog\/alert-ov-code-signing-is-changing\/\">new CA\/B forum requirements<\/a>.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4:&nbsp; Download the HSM Attestation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An HSM attestation is proof that your key resides in an HSM. This proof may be required by your Certificate Authority (CA) to issue a Code Signing certificate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To download the HSM attestation associated with your Cloud KMS key, you can have two methods using Google Cloud console or using CLI.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">#Steps using Google Cloud Console (API)<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the Google Cloud Console, <a href=\"https:\/\/console.cloud.google.com\/security\/kms\">Go to Key Management<\/a><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Select the key ring<\/strong> that contains the key you want to attest, and then <strong>select the key<\/strong>.<\/li>\n\n\n\n<li>Click&nbsp;<strong>More&nbsp;more_vert<\/strong>&nbsp;for the key version you want to attest, and then <strong>click&nbsp;Verify attestation<\/strong>.<\/li>\n\n\n\n<li>In the&nbsp;Verify attestation&nbsp;dialog, <strong>click&nbsp;Download attestation bundle<\/strong>. This downloads a zip file containing the attestation and certificate chains.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"># Steps using CLI:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud&nbsp;kms keys versions describe &#91;KEY_VERSION] \\&nbsp;\n&nbsp; --key &#91;KEY_NAME] --keyring &#91;KEY_RING_NAME] --location &#91;LOCATION] \\&nbsp;\n&nbsp; --format 'value(attestation.format,attestation.content)' &gt; attestation.txt&nbsp;\ncat attestation.txt | base64 --decode &gt;&nbsp;attestation.bin&nbsp;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Generate the CSR<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You now need a Certificate Signing Request containing the public key associated with the KMS key. The CSR is what you submit to DigiCert\/Code Signing Provider(at Enrollment form).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike <a href=\"https:\/\/signmycode.com\/azure-key-vault-code-signing\">Azure Key Vault<\/a>, which generates the CSR directly in the portal, Google Cloud KMS requires you to use the PKCS#11 library and OpenSSL to generate the CSR.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># Install the PKCS#11 Library<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Download the Google Cloud KMS PKCS#11 library from the&nbsp;<a href=\"https:\/\/cloud.google.com\/kms\/docs\/reference\/pkcs11-library\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud KMS PKCS#11 documentation<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># Create PKCS#11 Configuration File<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Create a YAML config file (e.g.&nbsp;pkcs11-config.yaml):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tokens:&nbsp; \n- key_ring: \"projects\/YOUR_PROJECT\/locations\/global\/keyRings\/codesign-keyring\"\n&nbsp;&nbsp;&nbsp; label: \"codesign\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"># Generate the CSR with OpenSSL<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Set environment variables:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export KMS_PKCS11_CONFIG=.\/pkcs11-config.yaml\nexport GOOGLE_APPLICATION_CREDENTIALS=~\/codesign-sa-key.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong># Generate CSR<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl req -new \\\n&nbsp; -subj \"\/CN=Your Company Name\" \\\n&nbsp; -sha256 \\\n&nbsp; -engine pkcs11 \\\n&nbsp; -keyform engine \\\n&nbsp; -key \"pkcs11:object=codesign-key;type=private\" \\\n&nbsp; -out codesign.csr<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Order your DigiCert Code Signing Certificate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DigiCert currently requires code signing private keys to be stored on compliant hardware or a USB token. You can select &#8220;<strong>Install on Existing HSM<\/strong>&#8221; as one of the supported provisioning methods to acquire a Google KMS certificate. You can <a href=\"https:\/\/signmycode.com\/brands\/digicert\">purchase DigiCert OV or EV Code Signing Certificate<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-extra-small-font-size wp-block-paragraph\"><strong>Note:<\/strong> For public Code Signing certificates, the <a href=\"https:\/\/signmycode.com\/blog\/code-signing-certificate-validity-changes-a-new-era-of-trust-and-automation\/\">maximum validity is currently <strong>459 days<\/strong><\/a>, following the February 24, 2026 industry change.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Submit the CSR to DigiCert<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">During the DigiCert certificate request process, provide the CSR \u00a0(codesign.csr) generated from your Cloud KMS key.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DigiCert will perform the required <a href=\"https:\/\/signmycode.com\/resources\/what-is-the-order-procedure-to-get-code-signing-certificate\/\">organization and code signing validation<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once validation is complete, DigiCert issues the certificate corresponding to the public key in your CSR. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Download the DigiCert Certificate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After issuance, download the certificate(codesigning.cer) from the dashboard (SignMyCode order) or email ID.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You may also need the appropriate DigiCert intermediate certificate chain. The important thing is that <strong>you do not receive or create a PFX containing the private key<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install DigiCert Code Signing Certificate in Google KMS and Sign the Code?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 9: Install the Google Cloud KMS CNG Provider<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For Windows-based signing, Google provides a <strong>CNG Provider and SignTool integration<\/strong> specifically for Cloud KMS.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install the Google Cloud KMS CNG Provider on your Windows signing machine.<\/li>\n\n\n\n<li>The signing machine needs access to the appropriate Google Cloud project and Cloud KMS key.<\/li>\n\n\n\n<li>You should grant the signing identity only the permissions it needs, particularly permission to use the asymmetric signing key.<\/li>\n\n\n\n<li>Avoid giving the CI\/CD service account broad project permissions.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"># Import the certificate into Google Cloud HSM:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>gcloud kms keys versions \nimport --keyring=&lt;key-ring-name&gt; --key=&lt;key-name&gt; \n--location=&lt;location&gt; \n--algorithm=rsa-sign-pss-4096-sha256 \n--input-file=&lt;path_to_certificate&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 10: Sign your Windows Application<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>You can sign your code via SignTool or JSign:<\/strong> Install the tool and follow the command below for signing<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"># Sign with Signtool<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>signtool sign \/sha1 YOUR_CERT_THUMBPRINT \/fd sha256 ^\n&nbsp; \/tr http:\/\/timestamp.digicert.com \/td sha256 ^\n&nbsp; \"MyApplication.exe\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"># Sign with Jsign<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>jsign --storetype GOOGLECLOUD \\\n&nbsp; --storepass \"$(cat ~\/codesign-sa-key.json)\" \\\n&nbsp; --keystore \"projects\/YOUR_PROJECT\/locations\/global\/keyRings\/codesign-keyring\" \\\n&nbsp; --alias \"digicertcodesign-key\" \\\n&nbsp; --certfile codesign-cert.pem \\\n&nbsp; --tsaurl http:\/\/timestamp.digicert.com \\\n&nbsp; --tsmode RFC3161 \\\n&nbsp; MyApplication.exe<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"># Important: Timestamping<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We recommend <a href=\"https:\/\/signmycode.com\/resources\/what-is-timestamping-in-code-signing\/\">timestamping your signatures<\/a>. A timestamp allows the signature to retain validity after the signing certificate expires, provided the signature and timestamp were valid when the software was signed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For example:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/t http:\/\/timestamp.digicert.com<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 11: Verify the Digital Signature<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After signing, use the command below for verification:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>signtool verify \/pa \/v application.exe<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see that the signature is valid and that the certificate chains to a trusted DigiCert root.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>You can also right-click the EXE:<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Properties \u2192 Digital Signatures \u2192 Details<\/strong>. You should see your DigiCert Code Signing Certificate like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-1024x579.avif\" alt=\"DigiCert Google KMS Code Signing Integration\" class=\"wp-image-4802\" srcset=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-1024x579.avif 1024w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-300x170.avif 300w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-768x434.avif 768w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-1536x868.avif 1536w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms-1568x886.avif 1568w, https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/signmycode-google-kms.avif 1668w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">By integrating DigiCert Code Signing with Google Cloud KMS, you can keep your private signing keys protected within Google\u2019s cloud-based key management infrastructure while using DigiCert to establish trust for your software. With the PKCS#11 library and OpenSSL handling key and CSR operations, the setup provides a secure and flexible approach to code signing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Setting up DigiCert Code Signing with Google Cloud KMS provides a secure way to protect your code-signing keys while enabling trusted digital signatures. The important point is that the private key must be generated inside Cloud KMS and should never be exported. You can use Google Cloud KMS as the hardware-backed key storage for&hellip; <a class=\"more-link\" href=\"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/\">Read More <span class=\"screen-reader-text\">How to Use Google  KMS for DigiCert Code Signing?<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4803,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[463],"tags":[668,671,667,669,670],"class_list":["post-4801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-code-signing","tag-cloud-key-management-service","tag-code-signing-with-google-cloud-kms","tag-google-cloud-hsm-code-signing","tag-google-kms-code-signing-instructions","tag-google-kms-setup-for-signing","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google KMS Code Signing with DigiCert | Setup Guide 2026<\/title>\n<meta name=\"description\" content=\"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google KMS Code Signing with DigiCert | Setup Guide 2026\" \/>\n<meta property=\"og:description\" content=\"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/\" \/>\n<meta property=\"og:site_name\" content=\"SignMyCode - Resources\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T07:27:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-18T08:41:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif\" \/>\n\t<meta property=\"og:image:width\" content=\"912\" \/>\n\t<meta property=\"og:image:height\" content=\"453\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Janki Mehta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif\" \/>\n<meta name=\"twitter:creator\" content=\"@Sign_My_Code\" \/>\n<meta name=\"twitter:site\" content=\"@Sign_My_Code\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Janki Mehta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/\"},\"author\":{\"name\":\"Janki Mehta\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/person\\\/2e80276fd34fd5439c04cd3cb96a389f\"},\"headline\":\"How to Use Google KMS for DigiCert Code Signing?\",\"datePublished\":\"2026-08-18T07:27:07+00:00\",\"dateModified\":\"2026-08-18T08:41:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/\"},\"wordCount\":1064,\"publisher\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/digicert-google-cloud-hsm-code-signing.avif\",\"keywords\":[\"Cloud Key Management Service\",\"code signing with Google Cloud KMS\",\"Google cloud hsm code signing\",\"Google KMS Code Signing Instructions\",\"Google KMS Setup for Signing\"],\"articleSection\":[\"Cloud Code Signing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/\",\"name\":\"Google KMS Code Signing with DigiCert | Setup Guide 2026\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/digicert-google-cloud-hsm-code-signing.avif\",\"datePublished\":\"2026-08-18T07:27:07+00:00\",\"dateModified\":\"2026-08-18T08:41:40+00:00\",\"description\":\"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/digicert-google-cloud-hsm-code-signing.avif\",\"contentUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/digicert-google-cloud-hsm-code-signing.avif\",\"width\":912,\"height\":453,\"caption\":\"Google KMS + DigiCert Code Signing Guid\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/how-to-use-google-cloud-kms-for-digicert-code-signing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Use Google KMS for DigiCert Code Signing?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#website\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\",\"name\":\"SignMyCode - Resources\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#organization\",\"name\":\"SignMyCode\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo1.png\",\"contentUrl\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo1.png\",\"width\":135,\"height\":86,\"caption\":\"SignMyCode\"},\"image\":{\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Sign_My_Code\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/signmycode.com\\\/resources\\\/#\\\/schema\\\/person\\\/2e80276fd34fd5439c04cd3cb96a389f\",\"name\":\"Janki Mehta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g\",\"caption\":\"Janki Mehta\"},\"description\":\"Janki Mehta is a Cyber-Security Enthusiast who constantly updates herself with new advancements in the Web\\\/Cyber Security niche. Along with theoretical knowledge, she also implements her practical expertise in day-to-day tasks and helps others to protect themselves from threats.\",\"sameAs\":[\"http:\\\/\\\/smcresources.ssltoolsonline.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google KMS Code Signing with DigiCert | Setup Guide 2026","description":"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/","og_locale":"en_US","og_type":"article","og_title":"Google KMS Code Signing with DigiCert | Setup Guide 2026","og_description":"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.","og_url":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/","og_site_name":"SignMyCode - Resources","article_published_time":"2026-08-18T07:27:07+00:00","article_modified_time":"2026-08-18T08:41:40+00:00","og_image":[{"width":912,"height":453,"url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","type":"image\/jpeg"}],"author":"Janki Mehta","twitter_card":"summary_large_image","twitter_image":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","twitter_creator":"@Sign_My_Code","twitter_site":"@Sign_My_Code","twitter_misc":{"Written by":"Janki Mehta","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#article","isPartOf":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/"},"author":{"name":"Janki Mehta","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/person\/2e80276fd34fd5439c04cd3cb96a389f"},"headline":"How to Use Google KMS for DigiCert Code Signing?","datePublished":"2026-08-18T07:27:07+00:00","dateModified":"2026-08-18T08:41:40+00:00","mainEntityOfPage":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/"},"wordCount":1064,"publisher":{"@id":"https:\/\/signmycode.com\/resources\/#organization"},"image":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#primaryimage"},"thumbnailUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","keywords":["Cloud Key Management Service","code signing with Google Cloud KMS","Google cloud hsm code signing","Google KMS Code Signing Instructions","Google KMS Setup for Signing"],"articleSection":["Cloud Code Signing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/","url":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/","name":"Google KMS Code Signing with DigiCert | Setup Guide 2026","isPartOf":{"@id":"https:\/\/signmycode.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#primaryimage"},"image":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#primaryimage"},"thumbnailUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","datePublished":"2026-08-18T07:27:07+00:00","dateModified":"2026-08-18T08:41:40+00:00","description":"Step-by-step guide to DigiCert Code Signing certificate with Google Cloud KMS, covering key setup, CSR generation, and signing code.","breadcrumb":{"@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#primaryimage","url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","contentUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2026\/08\/digicert-google-cloud-hsm-code-signing.avif","width":912,"height":453,"caption":"Google KMS + DigiCert Code Signing Guid"},{"@type":"BreadcrumbList","@id":"https:\/\/signmycode.com\/resources\/how-to-use-google-cloud-kms-for-digicert-code-signing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/signmycode.com\/resources\/"},{"@type":"ListItem","position":2,"name":"How to Use Google KMS for DigiCert Code Signing?"}]},{"@type":"WebSite","@id":"https:\/\/signmycode.com\/resources\/#website","url":"https:\/\/signmycode.com\/resources\/","name":"SignMyCode - Resources","description":"","publisher":{"@id":"https:\/\/signmycode.com\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/signmycode.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/signmycode.com\/resources\/#organization","name":"SignMyCode","url":"https:\/\/signmycode.com\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2021\/11\/logo1.png","contentUrl":"https:\/\/signmycode.com\/resources\/wp-content\/uploads\/2021\/11\/logo1.png","width":135,"height":86,"caption":"SignMyCode"},"image":{"@id":"https:\/\/signmycode.com\/resources\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/Sign_My_Code"]},{"@type":"Person","@id":"https:\/\/signmycode.com\/resources\/#\/schema\/person\/2e80276fd34fd5439c04cd3cb96a389f","name":"Janki Mehta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/74a1328bbec77f3a65123c2396050e61b60fe3831478ceb96b55e5a0fe44e370?s=96&d=blank&r=g","caption":"Janki Mehta"},"description":"Janki Mehta is a Cyber-Security Enthusiast who constantly updates herself with new advancements in the Web\/Cyber Security niche. Along with theoretical knowledge, she also implements her practical expertise in day-to-day tasks and helps others to protect themselves from threats.","sameAs":["http:\/\/smcresources.ssltoolsonline.com"]}]}},"_links":{"self":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/4801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/comments?post=4801"}],"version-history":[{"count":14,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/4801\/revisions"}],"predecessor-version":[{"id":4823,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/posts\/4801\/revisions\/4823"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/media\/4803"}],"wp:attachment":[{"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/media?parent=4801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/categories?post=4801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/signmycode.com\/resources\/wp-json\/wp\/v2\/tags?post=4801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}