Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
svn元';虽然s_客户端接受证书,但它不接受证书_Svn_Ssl_Ssl Certificate - Fatal编程技术网

svn元';虽然s_客户端接受证书,但它不接受证书

svn元';虽然s_客户端接受证书,但它不接受证书,svn,ssl,ssl-certificate,Svn,Ssl,Ssl Certificate,在对我们的svn服务器运行svn时,我遇到以下错误(域名和指纹已编辑): 所以一个错误说它已经过期了,几行之后它说过期日期是2011年。还有一个未知的错误。这是svn 1.6-旧版本有一个永久接受选项 我还尝试运行了openssl s_client来检查证书: openssl s_client -host svn.example.org -port 443 -verify 5 -CApath /etc/ssl/certs 在其他输出中,我得到: New, TLSv1/SSLv3, Cipher

在对我们的svn服务器运行svn时,我遇到以下错误(域名和指纹已编辑):

所以一个错误说它已经过期了,几行之后它说过期日期是2011年。还有一个未知的错误。这是svn 1.6-旧版本有一个永久接受选项

我还尝试运行了
openssl s_client
来检查证书:

openssl s_client -host svn.example.org -port 443 -verify 5 -CApath /etc/ssl/certs
在其他输出中,我得到:

New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 7604...
    Session-ID-ctx: 
    Master-Key: 22AB...
    Key-Arg   : None
    Compression: 1 (zlib compression)
    Start Time: 1288804434
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
这表明SSL设置正确

我唯一能想到的是,我们正在使用一个多域证书,其中mail.example.org是主题CN,svn.example.org列在subjectAltName部分

这影响了很多人,我不希望我们的客户不得不处理这一问题,所以我真的希望有一个解决方案,让这个错误消失,而不是仅仅为我解决它。谢谢你的帮助

编辑:我可以加载
https://svn.example.org/
在我的web浏览器中,它不会抱怨。我可以通过web浏览器查看证书层次结构,链中的证书均未过期

我已经按照Bruno的建议检查了
lddsvn
,它是针对libgnutls链接的,而openssl是针对libssl链接的。是否有与使用libgnutls的s_客户机命令等效的命令


Edit2:(这样以后的人很容易找到)
svn
使用gnutls库而不是ssl库,并且gnutls比ssl更严格。因此,为了查看错误,需要使用
gnutls cli
。就我而言,即使他们都在那里。有关更多详细信息,请参阅前面的链接。

我不确定它是否能解决您的问题,但您可以在
~/.subversion/servers
中配置一个
ssl authority files
选项(我想,如果您愿意,可以将其限制在某些主机上)

此外,您的
svn
版本可能是针对其SSL/TLS堆栈而与OpenSSL以外的另一个库相链接的,例如GnuTLS(这应该使用svn二进制文件上的
ldd
可见)


(您是否检查过CA证书是否已过期,而不是服务器证书本身?

我不确定它是否能解决您的问题,但您可以在
~/.subversion/servers
中配置一个
ssl authority files
选项(我认为,如果需要,您可以将其限制在某些主机上)

此外,您的
svn
版本可能是针对其SSL/TLS堆栈而与OpenSSL以外的另一个库相链接的,例如GnuTLS(这应该使用svn二进制文件上的
ldd
可见)


(您是否检查过CA证书是否已过期,而不是服务器证书本身?

谢谢您提供的信息。我在问题中添加了更多信息。这会影响到一些人,所以我正在寻找一些可以修复它的东西,而不需要每个人都编辑他们的配置。尽管这是一个有用的备份,如果没有其他方法可以工作。您是否更改了
ssl权限文件
配置选项?没有真正的理由说明
svn
在默认情况下应该与您的浏览器具有相同的可信CA证书集,这可能解释了为什么它在浏览器中工作而不是在svn中。啊,更接近了-我找到了
gnutls cli
客户端。这与svn的投诉方式相同。这似乎和这个问题有关。我会看看我是否能解决这个问题,如果不能,我会去服务器故障…谢谢你的信息。我在问题中添加了更多信息。这会影响到一些人,所以我正在寻找一些可以修复它的东西,而不需要每个人都编辑他们的配置。尽管这是一个有用的备份,如果没有其他方法可以工作。您是否更改了
ssl权限文件
配置选项?没有真正的理由说明
svn
在默认情况下应该与您的浏览器具有相同的可信CA证书集,这可能解释了为什么它在浏览器中工作而不是在svn中。啊,更接近了-我找到了
gnutls cli
客户端。这与svn的投诉方式相同。这似乎和这个问题有关。我看看能不能修好,如果不能,我就去找错。。。
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 7604...
    Session-ID-ctx: 
    Master-Key: 22AB...
    Key-Arg   : None
    Compression: 1 (zlib compression)
    Start Time: 1288804434
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)