Ubuntu 12.04 安装 svn时 SSL handshake failed
[日期:2013-03-23] | 来源:Linux社区 作者:zhanghui_hn | [字体:大 中 小] |
在Ubuntu 12.04上,安装Subversion官网安装 SVN 后,链接svn地址时,可能会出现错误提示如下:
OPTIONS of '<url>': SSL handshake failed: SSL error: Key usage violation in certificate has been detected. (<url>)
这个问题的根本原因是 Ubuntu 包libneon-gnutls 的链接 处理 证书时会比libneon 更严格,导致验证通不过,就出现了上面的错误提示。一种最简单的方式就是将libneon-gnutls的链接直接指向libneon。对应得 命令是:
- sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
- sudo ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27
但是,麻烦的是在 Ubuntu12.04 下,又会出现另一个错误提示:
OPTIONS of <url>': SSL handshake failed: SSL disabled due to library version mismatch (<url>)
那是因为Ubuntu12.04 与 libneon 之间的 bug引起的。
具体的解决方法如下:
- 卸载 libneon 包
sudo apt-get remove libneon27
- 安装需要的 libssl 依赖。
sudo apt-get install libssl0.9.8
- http://packages.debian.org/squeeze/libneon27 的页面底部有最新的 libneon 包,下载系统对应的安装包,然后用命令安装。
dpkg -i libneon27_0.29.3-3_amd64.deb
- 最后改变链接,命令如下:
sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
sudo ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27 - 注销用户后就OK了。