Subversion & Certificate problems with Ubuntu precise pangolinwednesday, May 2. 2012
For quite a while the Ubuntu subversion package suffer from bad user certificates that do not follow the standards strictly. In case you have to authenticate with such a certificate subversion will return such an error message:
OPTIONS of '<url>': SSL handshake failed: SSL error: Key usage violation in certificate has been detected. (<url>)
The root of this problem is that the Ubuntu packages link against
Libneon-gnutls, which handles certificates in a stricter way
Libneon.
Easy workaround in the past was to simply replace a Replace the Library Link
Libneon-gnutls to point
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
However once you do this in Ubuntu 12.04 precise pangolin you will get a another error message instead:
OPTIONS of <url>': SSL handshake failed: SSL disabled due to library version mismatch (<url>)
After quite some Googling it turned out that there is a bug in the version
Libneon bundled with precise that causes this problem. Fortunately this is already fixed with version 0.29.3. To get back to a working subversion perform these steps:
- Uninstall the current
Libneon package:
sudo apt-get remove libneon27>
- Download the latest libneon
Package from http://packages.debian.org/squeeze/libneon27 (at the bottom you can choose the right version for your architecture ).
- Install the required libssl dependency:
sudo apt-get install libssl0.9.8
- Install the downloaded
Libneon package. e. g. for the 64bit architecture:
dpkg -i libneon27_0.29.3-3_amd64.deb
- Change the symbolic links again like described abve:
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
And finally subversion shocould be working again.