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

合并含URL类型SAN的Azure Key Vault签名CSR时遇X.509无效错误

Azure Key Vault证书合并失败(含URL类型SAN)问题排查与解决

问题原因分析

  1. URL格式不符合X.509标准:你添加的\myurl\key\12345是Windows本地路径格式,并非X.509标准要求的合法URI格式(需遵循RFC 3986规范)。Azure Key Vault对证书格式的校验可能在近两年内收紧,旧证书生成时的校验规则更宽松,因此当时未触发错误。
  2. CSR与最终证书的SAN不匹配:你最初生成CSR时未包含URL类型的Subject Alternative Name(SAN),后续CA添加该字段后,Key Vault会校验CSR与最终证书的扩展一致性,新版本的Key Vault可能加强了这一校验逻辑,导致合并失败。

解决方法

1. 修正URL SAN的格式

确保URL类型SAN使用合法的URI格式:

  • 本地文件路径需写成file:///myurl/key/12345(注意三个斜杠)
  • HTTP/HTTPS路径写成https://your-domain.com/myurl/key/12345
  • 统一使用正斜杠/,避免反斜杠\

2. 在生成CSR时预先定义URL类型SAN

为避免CSR与最终证书的SAN不匹配,需在Azure Key Vault生成证书请求时就包含URL类型SAN:

方法一:使用Azure CLI

执行以下命令生成带URL SAN的证书策略与CSR:

az keyvault certificate create --vault-name <你的密钥保管库名称> --name mycert --policy '{
  "issuerParameters": {"name": "Unknown"},
  "x509CertificateProperties": {
    "subject": "CN=mycert.myca.com",
    "validityInMonths": 24,
    "san": {
      "dnsNames": ["mycert.myca.com"],
      "uris": ["file:///myurl/key/12345"]
    },
    "contentType": "PEM"
  },
  "lifetimeActions": [
    {
      "trigger": {"percentage": 80},
      "action": {"actionType": "EmailContacts"}
    }
  ]
}'

方法二:使用Azure Portal

  1. 在创建证书的流程中,进入高级策略配置
  2. 找到「Subject Alternative Name」区域,点击「添加」选择「URI」类型
  3. 输入合法格式的URL(如file:///myurl/key/12345),完成策略配置后生成CSR

3. 验证与合并

  • 提交生成的CSR给CA签名,确保CA签名时保留预定义的URL SAN(不要修改或新增不匹配的SAN字段)
  • 用openssl x509 -in <签名后的证书文件>.pem -text -noout查看证书内容,确认SAN部分的URL格式正确
  • 将签名后的证书合并回Azure Key Vault,此时即可成功完成操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:04:58