You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Azure密钥保管库的证书主题与SAN为空问题排查

解决方案

原因分析

Azure Key Vault导入PKCS12格式的ECDSA证书时,若证书策略的key_properties配置与实际证书的密钥属性不匹配,会导致Key Vault无法正确解析证书元数据(包括Subject和SAN字段)。当前配置存在两个核心问题:

  1. ECDSA证书依赖曲线(如P-256)标识密钥规格,无需设置key_size = 256,多余配置会干扰解析;
  2. 缺少明确的证书元数据配置,Key Vault自动解析带链PFX的元数据时容易失败。

修复步骤

  1. 修正Terraform证书策略:删除key_properties中的key_size字段,新增x509_certificate_properties指定元数据:
resource "azurerm_key_vault_certificate" "cert" {
  name         = var.key_vault_newcert_name
  key_vault_id = azurerm_key_vault.vmss.id

  certificate {
    contents = filebase64("certificate.pfx")
    password = ""
  }

  certificate_policy {
    issuer_parameters {
      name = "Unknown"
    }

    key_properties {
      curve      = "P-256"
      exportable = true
      key_type   = "EC"
      reuse_key  = true
    }

    secret_properties {
      content_type = "application/x-pkcs12"
    }

    # 明确指定证书元数据,确保解析正确
    x509_certificate_properties {
      key_usage = ["digitalSignature", "keyEncipherment"]
      subject_alternative_names {
        dns_names = ["correctdomain.com"] # 替换为你的实际域名
      }
    }
  }
}
  1. 重新生成PFX文件:添加-name参数明确指定证书主题,强化元数据嵌入:
openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out certificate.pfx -certfile chain.pem -name "correctdomain.com"
  1. 重新部署Terraform:先清理旧证书资源,再执行部署:
terraform destroy -target azurerm_key_vault_certificate.cert
terraform apply

额外说明

  • Certbot 2.0+默认生成ECDSA证书,确保你的OpenSSL版本在1.0.2及以上(支持P-256曲线);
  • 手动指定SAN和Subject字段可以避免Key Vault自动解析元数据时的不确定性,提升部署稳定性。

内容的提问来源于stack exchange,提问作者Adam Winter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:08:21