При запуске svn на нашем сервере svn я получаю эту ошибку (имя домена и отпечаток пальца отредактированы):
Error validating server certificate for 'https://svn.example.org:443':
- The certificate has expired.
- The certificate has an unknown error.
Certificate information:
- Hostname: mail.example.org
- Valid: from Fri, 24 Sep 2010 13:05:10 GMT until Wed, 09 Feb 2011
15:24:52 GMT
- Issuer: 07969287, http://certificates.godaddy.com/repository,
GoDaddy.com, Inc., Scottsdale, Arizona, US
- Fingerprint: 00:e5:....
(R)eject or accept (t)emporarily? t
Итак, одна ошибка говорит, что она истекла, а через несколько строк - истечение срока действия.дата 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/
в свой веб-браузер, и он не жалуется.Я могу просматривать иерархию сертификатов через веб-браузер, и ни один из сертификатов в цепочке не истек.
Я проверил ldd svn
, как предложено Бруно, и он связан с libgnutls, в то время как openssl связанпротив libssl.Есть ли эквивалент команды s_client, использующей libgnutls?
Edit2: (так что его легко найти для более поздних людей).svn
использует библиотеку gnutls, а не библиотеку ssl, и gnutls более строг, чем ssl.Поэтому, чтобы увидеть ошибку, вам нужно использовать gnutls-cli
.В моем случае гнутам не понравился порядок сертификатов , хотя они все есть.См. Ссылку ранее для получения более подробной информации.