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

macOS 12下git HTTPS访问报错bad key length如何解决

macOS 12 Monterey 访问HTTPS仓库报bad key length解决方案

问题表现

  • 升级macOS 12后,git、curl访问公司Bitbucket HTTPS仓库时报错error:06FFF089:digital envelope routines:CRYPTO_internal:bad key length
  • Safari、Firefox浏览器可正常访问对应地址
  • 此前macOS 11版本下所有操作均正常

根因说明

macOS 12自带的LibreSSL版本提升了安全校验标准,默认要求DH密钥交换的密钥长度不低于3072位,而你公司Bitbucket服务端使用的是2048位DH参数,触发了校验拦截。浏览器因为使用自带的TLS栈而非系统LibreSSL,所以不受影响。

解决方案

方案1:仅配置git生效(影响范围最小,推荐)

执行以下命令全局配置git禁用DH加密套件,避开密钥长度校验:

git config --global http.sslCipherList 'DEFAULT:!DH'

如果仅需要针对单个仓库生效,进入对应仓库目录后去掉--global参数执行即可。

方案2:全局生效(适配所有依赖系统LibreSSL的工具)

如果你需要让curl等其他命令行工具也正常访问对应服务,可修改shell配置文件添加环境变量:

  1. 如果你使用zsh(macOS默认shell),编辑~/.zshrc文件,添加如下内容:
export CIPHERS='DEFAULT:!DH'
  1. 执行以下命令让配置立即生效:
source ~/.zshrc

如果你使用bash,对应修改~/.bash_profile文件即可。

服务端永久修复方案

建议同步公司运维人员升级Bitbucket服务端TLS配置:将DH参数长度升级到3072位及以上,或者优先启用ECDHE类加密套件,无需修改客户端配置即可兼容所有系统版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:54:08