SVN忽略在CentOs上为不同主机名颁发的证书

SVN忽略在CentOs上为不同主机名颁发的证书

我正在尝试使用 phabricator (https://github.com/phacility/phabricator) 连接到外部 svn 存储库。这似乎是 svn 服务器的证书出了问题,例如 Firefox 说(“无法验证此证书,因为颁发者未知”)。我怀疑问题是机器名称和证书不匹配。但我在服务器端无能为力。

命令 phabricator 启动时出现问题(当然从 cmd 行启动也会失败),该命令为:

svn --non-interactive -no-auth-cache --trust-server-cert -username 'xxx' --password 'YYY' cat 'https://some_file_in_svn'

输出为:

Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted (https://blabvlabla.com)

我没有办法改变这一行,因为 phabricator 正在生成它,而且我已经尝试了几乎所有的方法(可能是错误的方法):

令人惊讶的是,从 cmd 中删除选项(--non-interactive -no-auth-cache --trust-server-cert)使其可以工作(我必须接受证书),但如果我再次使用它们启动它则没有任何效果。

  • 删除非交互式并从 svn 命令行接受证书 -> 不起作用
  • 下载并导入证书 -> 不起作用
  • 将证书添加到 .subversion 中的 SSL 授权列表 -> 不起作用

这里似乎有类似的东西,但没有任何作用!(https://secure.phabricator.com/T7471)。有什么方法可以告诉 subversion 不用担心,绕过证书问题吗?

答案1

我通过修改 hosts 文件来匹配证书名称和服务器名称解决了这个问题。我之前也尝试过,但 nsswitch.conf 被配置为首先检查 dns。

答案2

只需添加参数

--trust-server-cert-failures="other,unknown-ca,cn-mistmatch,expired" 

相关内容