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

Windows环境使用Azure CLI出现证书链自签名证书报错如何解决

问题根因

Windows环境下OpenSSL、Azure CLI默认不读取Windows系统证书存储,你导入到系统根证书存储的自签名根证未被上述组件识别,因此出现证书校验失败报错;而Linux环境下的OpenSSL默认会读取系统全局信任证书链,根证已正常加载因此可以正常运行。

解决方案

1. 配置OpenSSL信任自签名根证

  1. 执行命令查看OpenSSL配置根目录:
openssl version -d

输出示例:OPENSSLDIR: "C:\Program Files\Common Files\SSL"
2. 进入上述路径下的certs文件夹,将你的BB-CA-DD.crt根证书文件复制到该目录
3. 执行命令更新证书哈希索引:

openssl rehash "C:\Program Files\Common Files\SSL\certs"

配置完成后再执行openssl连接测试即可正常通过校验。

2. 配置Azure CLI信任自签名根证

Azure CLI基于Python开发,默认使用内置的certifi证书包做SSL校验,需要将根证追加到对应的证书文件中:

  1. 找到Azure CLI使用的证书文件路径,默认路径如下:
    • 本地Windows安装版:C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem
    • Windows Docker容器版:C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem
      若找不到可执行az --version查看CLI安装根目录,拼接\Lib\site-packages\certifi\cacert.pem即可得到路径。
  2. 用文本编辑器打开BB-CA-DD.crt,复制全部证书内容,追加到上述cacert.pem文件末尾,保存后即可正常执行az login命令。

临时测试方案(生产环境禁用)

如需临时绕过校验,可先设置环境变量关闭SSL验证:

set AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1
az login --tenant my-domain.org

该方案会导致通信存在中间人攻击风险,仅可用于临时排查问题使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:30:01