考虑以下场景。旧的 SVN 服务器,可通过 HTTPS 访问,该服务器已移动到另一个域(没有新证书)并且其证书已过期。我被这种情况困住了,因为我对远程没有影响。
同样,我坚持使用 Scientific Linux 6.3 附带的这个 Subversion 客户端版本:
$ svn --version
svn, version 1.6.11 (r934486)
compiled Feb 10 2015, 17:07:04
Run Code Online (Sandbox Code Playgroud)
我知道--non-interactive --trust-server-cert,但它没有帮助,尽管文档表明这些应该可用并且可以在 Subversion 1.6 版本中使用。它给我的错误是:
svn: OPTIONS of 'https://svn.company.tld/svn/project/trunk': Server certificate verification failed: certificate has expired, certificate issued for a different hostname, bad certificate chain (https://svn.company.tld)
Run Code Online (Sandbox Code Playgroud)
当我以交互方式运行它时,我只能暂时接受证书或拒绝它。因此,所有建议交互运行一次然后非交互运行的好食谱对我来说都没有好处。事实上,这就是我在使用 Ubuntu 的较新 Subversion 客户端上总是这样做的方式。我看到的是这个(已编辑):
Error validating server certificate for 'https://svn.company.tld:443':
- The certificate hostname does not match.
- The certificate has expired.
- The certificate has an unknown error.
Certificate information:
- Hostname: *.oldcompanyname.tld
- Valid: from Tue, 02 Jun 2009 00:00:00 GMT until Wed, 06 Jul 2011 23:59:59 GMT
- Issuer: www.digicert.com, DigiCert Inc, US
- Fingerprint: fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd:fd
(R)eject or accept (t)emporarily?
Run Code Online (Sandbox Code Playgroud)
暂时接受允许我缓存凭据和所有凭据,但它会再次提示暂时信任证书或拒绝它从远程服务器提取的每个修订版本。
所以这对我来说不是选择,因为我至少需要它是自动化的。
我还调整~/.subversion/servers为包含:
[global]
ssl-authority-files = /home/username/.subversion/cacert-svn.pem
Run Code Online (Sandbox Code Playgroud)
其中 PEM 文件包含来自以下openssl调用输出的编辑内容(仅实际证书块):
openssl s_client -showcerts -connect svn.company.tld:443 < /dev/null > cacert-svn.pem
Run Code Online (Sandbox Code Playgroud)
我还尝试将这些证书拆分为单独的文件并将它们列在以分号分隔的列表中(文档不清楚单个 PEM 文件是否可以包含多个 Subversion 证书,我知道对于 Apache 来说这是有效的)。这些都不起作用。
我还尝试将~/.subversion文件夹从 a移植svn, version 1.8.8 (r1568071)到 Scientific Linux。这也失败了。
我怎样才能说服这个给定的 Subversion 客户端永久接受这个特定的证书,尽管它已经过期并被颁发给不同的主机名?
我读过的东西没有帮助,因为它要么不适用于我的 Subversion 客户端,要么不适用:
您可以使用以下 svn 选项:
--trust-server-cert-failures=unknown-ca,cn-mismatch,expired,not-yet-valid,other
Run Code Online (Sandbox Code Playgroud)
那么就不再问了吗?案例。
| 归档时间: |
|
| 查看次数: |
4772 次 |
| 最近记录: |