如何将含中间证书的.PFX证书部署到Azure Key Vault?
解决PFX证书链导入Azure Key Vault的问题
问题原因
经典Azure云服务上传PFX时会自动解析并导入证书链中的所有证书(叶证书+中间CA+根CA),但Azure Key Vault默认导入PFX仅会导入叶证书,不会自动提取并导入链中的CA证书,这就是你看到仅1个条目但配置里需要多个CA证书指纹的原因。
解决步骤
1. 从PFX文件中拆分所有证书
使用OpenSSL工具将PFX中的所有证书(包括CA证书)提取为单独的公钥证书文件:
- 先将PFX转换为包含完整证书链的PEM格式:
openssl pkcs12 -in your-cert-file.pfx -out all-certs.pem -nodes - 打开生成的
all-certs.pem文件,将每个以-----BEGIN CERTIFICATE-----开头、-----END CERTIFICATE-----结尾的证书块分别保存为独立的.crt文件(比如leaf-cert.crt、godaddy-intermediate-1.crt、godaddy-intermediate-2.crt、godaddy-root.crt)。
2. 逐个导入证书到Azure Key Vault
方法1:使用Azure CLI
执行以下命令逐个导入拆分后的证书(替换占位符为你的实际信息):
# 导入根CA证书 az keyvault certificate import --vault-name your-vault-name --name GoDaddyRootCA --file godaddy-root.crt # 导入中间CA证书 az keyvault certificate import --vault-name your-vault-name --name GoDaddyIntermediateCA1 --file godaddy-intermediate-1.crt az keyvault certificate import --vault-name your-vault-name --name GoDaddyIntermediateCA2 --file godaddy-intermediate-2.crt # 导入叶证书(若之前未导入) az keyvault certificate import --vault-name your-vault-name --name YourServiceLeafCert --file your-cert-file.pfx --password your-pfx-password
方法2:使用Azure Portal
- 进入目标Key Vault的证书页面
- 点击生成/导入
- 在导入页面:
- 选择导入作为“证书创建方法”
- 上传拆分后的单个
.crt文件 - 设置证书名称(便于识别)
- 点击创建完成导入
- 重复上述步骤导入所有CA证书和叶证书
3. 验证导入结果
使用Azure CLI查看Key Vault中的所有证书,确认数量和指纹匹配:
az keyvault certificate list --vault-name your-vault-name --output table
对比每个证书的指纹与ServiceConfiguration.cscfg中配置的指纹,确保完全一致(注意指纹的大小写)。
4. 权限注意事项
确保操作Key Vault的账号拥有证书导入权限(在Key Vault的访问策略中配置Certificates权限下的Import操作)。
内容的提问来源于stack exchange,提问作者Mister Cook
相关产品推荐
相关产品推荐

