Lorsque vous exécutez svn contre notre serveur svn Je reçois cette erreur (nom de domaine et d'empreintes digitales édité):svn n'acceptera pas le certificat, si s_client ne
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
donc une erreur dit qu'il est arrivé à expiration, et quelques lignes plus tard, il dit que la date d'expiration est 2011. Et puis il y a une erreur inconnue. C'est svn 1.6 - les anciennes versions avaient une option d'acceptation permanente.
J'ai aussi essayé de courir openssl s_client
pour vérifier le certificat:
openssl s_client -host svn.example.org -port 443 -verify 5 -CApath /etc/ssl/certs
Et entre autres sortie I get:
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)
Ce qui suggère que le protocole SSL est correctement configuré. La seule chose que je peux penser est que nous utilisons un certificat multi-domaine, avec mail.example.org étant le sujet CN et svn.example.org étant répertoriés dans la section subjectAltName.
Cela affecte un certain nombre de personnes, et je ne veux pas que nos clients doivent faire face à cela, donc j'aimerais vraiment une solution qui fait disparaître cette erreur plutôt que de la réparer pour moi. Toute aide appréciée.
Modifier: Je peux charger https://svn.example.org/
dans mon navigateur web et il ne se plaint pas. Je peux voir la hiérarchie des certificats via le navigateur Web et aucun des certificats de la chaîne n'a expiré.
J'ai vérifié ldd svn
comme suggéré par Bruno, et il est lié à libgnutls, tandis que openssl est lié à libssl. Y a-t-il un équivalent à la commande s_client utilisant libgnutls?
Éditer2: (donc c'est facile à trouver pour les personnes plus tard). svn
utilise la bibliothèque gnutls plutôt que la bibliothèque ssl, et gnutls est plus stricte que ssl. Donc, pour voir l'erreur, vous devez utiliser gnutls-cli
. Dans mon cas, gnutls didn't like the order of certificates, même s'ils sont tous là. Voir le lien avant pour plus de détails.
Merci pour avoir l'info. J'ai ajouté plus d'informations dans la question. Cela affecte quelques personnes, donc je cherche quelque chose qui va le réparer sans que tout le monde doive éditer leur config. Bien que ce soit une sauvegarde utile si rien d'autre ne fonctionne. –
Avez-vous changé l'option de configuration 'ssl-authority-files'? Il n'y a pas de raison pour que 'svn' ait le même ensemble de certificats de confiance que votre navigateur par défaut, ce qui peut expliquer pourquoi cela fonctionne dans le navigateur et pas dans svn. – Bruno
Ah, je me suis approché - j'ai trouvé le client 'gnutls-cli'. Cela se plaint de la même manière que 'svn'. Il semble que ce soit quelque chose à voir avec [l'ordre des certificats] (http://www.mail-archive.com/[email protected]/msg01213.html).Je vais voir si je peux résoudre ce problème, et sinon je serai parti pour serverfault ... –