Ubuntu 12.04 安装 svn时 SSL handshake failed


在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。对应得 命令是:

  1. sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
  2. 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引起的。

具体的解决方法如下:

  1. 卸载 libneon 包
    sudo apt-get remove libneon27
  2. 安装需要的 libssl 依赖。
    sudo apt-get install libssl0.9.8
  3. http://packages.debian.org/squeeze/libneon27 的页面底部有最新的 libneon 包,下载系统对应的安装包,然后用命令安装。
    dpkg -i libneon27_0.29.3-3_amd64.deb
  4. 最后改变链接,命令如下:
    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
  5. 注销用户后就OK了。

相关内容

    暂无相关文章