Certificate Renewal & Upload Process for Azure KeyVault (with GoDaddy)¶
Overview¶
This guide explains how to renew an expiring certificate issued by GoDaddy and upload the new version into Azure Key Vault. It covers:
- Downloading the existing private key
- Verifying domain ownership via DNS
- Downloading the new certificate from GoDaddy
- Setting up OpenSSL
- Rebuilding a new .pfx for Azure
- Uploading into Azure Key Vault
Prerequisites¶
- Access to Azure Resource Group (Key Vault, DNS Zone, FrontEndEndpoint, AppGateway Listeners)
- Access to GoDaddy account
- Windows PC (or Mac/Linux)
- OpenSSL installed (steps below)
Step 1: Download Existing Certificate from Azure Key Vault¶
- Go to the Azure Portal.
- Navigate to the Resource Group Key Vault where the current certificate is stored.
- Select Certificates from the left menu.
- Click the current/expiring certificate.
- Click Download in PFX/PEM format.
- Select PFX.
- Save the file locally.
- No password is required during download (Azure sets a blank password by default).
Example saved filename: backup_pfx_prod-keyvault-customer-manual-cert-20250429.pfx
Step 2: Verify Domain in GoDaddy (DNS TXT Record)¶
- Log into the GoDaddy portal.
- Locate the pending certificate order.
- Choose DNS Verification as the method.
- Go to Azure Portal → Resource Group DNS Zone → Recordsets.
- Add a TXT record provided by GoDaddy:
- Name: @
- Value: GoDaddy provided TXT string
- TTL: 1 hour (or default)
- Wait 5–10 minutes for DNS propagation.
- In GoDaddy, click Verify.
- It may take up to 30 minutes, but often completes sooner.
Step 3: Download Issued Certificate from GoDaddy¶
- After verification succeeds, download the issued certificate from GoDaddy.
- You will receive a .zip file containing:
- A .crt file (e.g., 11605a734e1f33e3)
- A .pem file (e.g., 11605a734e1f33e3.pem)
- A CA bundle file (gd_bundle-g2.crt)
Extract these files locally into a folder. Example folder: Downloads_.customer.com\
Step 4: Install OpenSSL (Windows)¶
- Go to:https://slproweb.com/products/Win32OpenSSL.html
- Download Win64 OpenSSL v3.x Light Installer.
- Install OpenSSL:
- Accept default options.
- Choose Copy DLLs to OpenSSL bin during setup.
- Add OpenSSL to Windows PATH:
- Open System Properties → Environment Variables.
- Edit Path → Add:
C:\Program Files\OpenSSL\bin
- Verify installation:
- Open Command Prompt and run:
openssl version
- Should output OpenSSL version info.
Step 5: Extract Private Key from Existing Backup .pfx¶
- Open Command Prompt.
- Navigate to your downloads folder:
cd %USERPROFILE%\Downloads
- Extract private key:
openssl pkcs12 -in backup_pfx_prod-keyvault-customer-manual-cert-20250429.pfx -nocerts -out extracted_private.key
- At "Enter Import Password", just press ENTER (Azure's default is blank).
-
At "Enter PEM pass phrase", create a temporary password (e.g., tempPass123).
-
(Optional) Remove passphrase to simplify later steps:
Step 6: Combine New Certificate + Private Key into a New .pfx¶
- Build a new .pfx using the new GoDaddy cert and extracted private key:
openssl pkcs12 -export -out new_uploadable_cert.pfx -inkey private.key -in "_.customer.com\11605a734e1f33e3.crt" -certfile "_.customer.com\gd_bundle-g2.crt"
- When prompted:
- Enter Export Password → create a new password (e.g., dataforge2025!).
- Remember this password — you will need it when uploading to Azure.
Step 7: Upload the New Certificate to Azure Key Vault¶
- Go back to Azure Portal → Resource Group Key Vault → Certificates.
- Choose Generate/Import → Import.
- Select:
- Method: Import
- Upload your new_uploadable_cert.pfx
- Enter the Export Password you set in Step 6.
- Complete upload.
Step 8: Renew certificate in FrontendEndpoint and AppGateway Listener¶
- Go to Azure Resource Group → FrontendEndpoint → Click on custom domain
- In Certificate/Secret Version drop-down, choose current version to update to current version.
- Go back to Azure Resource Group → AppGateway → Listeners -> Click on listener
- Select Renew or edit selected certificate → Choose a certificate from Key Vault → Select the KeyVault → Select the correct Certificate
Step 9: Final Cleanup¶
- Delete or securely archive:
- Extracted private.key
- Temporary extracted_private.key
- Retain new_uploadable_cert.pfx securely if needed for audit or backup purposes.
Notes¶
- Always keep private keys secure.
- Keep password logs in a secure location (such as Azure Key Vault secrets, or password manager).
- If DNS verification TXT records were temporary, clean them up from Azure DNS.
Process Summary¶
| Step | Action |
|---|---|
| 1 | Download existing .pfx from Azure |
| 2 | Verify domain in GoDaddy via DNS |
| 3 | Download new cert from GoDaddy |
| 4 | Install OpenSSL |
| 5 | Extract private key from old .pfx |
| 6 | Rebuild .pfx with new cert |
| 7 | Upload to Azure |
| 8 | Renew certificate in FrontendEndpoint and AppGateway Listener |
| 9 | Cleanup private keys securely |
Files/Folders You Should Expect¶
| File/Folder | Purpose |
|---|---|
| backup_pfx_prod-keyvault-customer-manual-cert-20250429.pfx | Existing Azure certificate backup |
| _.customer.com\ | Folder containing GoDaddy cert files |
| extracted_private.key | Private key extracted from old .pfx |
| private.key | Unencrypted private key |
| new_uploadable_cert.pfx | Final output for Azure Key Vault upload |