Je reçois l'erreur suivante sur Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).
Comment puis-je le forcer à accepter un certificat invalide?
(Selon ce rapport de bogue il devrait être capable).
Voici ce que j'ai fait:
seahorse
(interface graphique du trousseau de clés gnome)Il s'avère qu'il y a n bogue avec des certificats dans Pidgin 2.10.10 (libpurple 2.10.10):
Avec la version 2.10.10, il n'est plus possible de se connecter à un serveur XMPP utilisant un certificat SSL auto-signé. Le message d'erreur est le suivant: le certificat n'a pas pu être validé. La chaîne de certificat présentée est invalide.
La connexion est possible si le certificat de serveur est déjà dans le cache local (.purple\certificates\x509\tls_peers). Si le certificat n'est pas encore mis en cache (par exemple, après une nouvelle installation Windows/Pidgin), la connexion échoue.
La mise à niveau vers la version 2.10.11 corrige le problème. Si vous utilisez une version plus ancienne d’Ubuntu que moi, vous pouvez utiliser le PPA (12.04, 14.04 et 14.10)
Vous pouvez également télécharger le certificat SSL à la main. Ensuite, Pidgin démarre sans problèmes. Pour télécharger le certificat, vous pouvez utiliser l'utilitaire de ligne de commande openssl.
~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER
Lorsque la commande ci-dessus échoue avec "aucun certificat homologue disponible", le serveur utilise peut-être STARTTLS au lieu de SSL. Dans ce cas, utilisez la commande suivante:
~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER -starttls xmpp
Maintenant, copiez la partie commençant par "---- BEGIN CERTIFICATE ----". Si vous imprimez le contenu du fichier de certificat, il ressemble à ceci:
~/.purple/certificates/x509/tls_peers$ cat Jabber.ulm.ccc.de
-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
Moyen facile,
Windows: %appdata%\.purple
) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers
)P.S: Les utilisateurs Windows qui ne connaissent pas %appdata%
saisissent simplement %appdata%\.purple
dans votre barre d’adresse et appuyez sur Entrée.
Il semble important que le nom que vous entrez lors de l’importation du certificat via Tools→Certificates correspond au connect server
dans la configuration du compte XMPP. C’est la seule façon pour moi d’obtenir que cela fonctionne pour la même erreur.
Une autre solution consiste à importer le nom du serveur spécifié dans l'erreur, tel que myserver.chat.com
. Par exemple:
Ouvrez le navigateur Firefox et mettez l'URL: HTTPS://mysever.chat.com
, vous obtiendrez une erreur:
Sélectionnez l'option Advanced
puis Add Exception
. Une fenêtre contextuelle pour le certificat s'ouvrira.
Cliquez ensuite sur Advanced
-> Details
-> Export
name__
Sauvegarder le certificat quelque part
Ouvrez Pidgin, allez à Tools
-> Certificates
-> Add
Maintenant, enregistrez le certificat avec le même nom commun que l'erreur au début.
Enfin, essayez de vous reconnecter.
J'ai pu contourner le problème du certificat en le remplaçant manuellement par une copie sauvegardée plusieurs fois. J'ai cessé de travailler après cela et passer à la version 2.11 n'a pas semblé aider.
Si vous construisez à partir des sources, vous devez essayer de modifier le code source de libpurple/certificates.c; déplacer la vérification PURPLE_CERTIFICATE_FATALS_MASK sous la vérification PURPLE_CERTIFICATE_NON_FATALS_MASK sur Demander à l'utilisateur mais autoriser le certificat si elle est acceptée. Probablement pas la chose la plus sûre à faire, mais a fonctionné pour moi.
Vous pouvez utiliser Pidgin-developers PPA pour le résoudre. J'ai installé les packages Pidgin et libpurple à partir de cette source, ce qui a résolu mon problème d'accès aux ressources Lync 2013. Désormais, il peut autoriser automatiquement les certificats (la boîte de dialogue affiche l'acceptation ou le refus d'un certificat inconnu). Avez-vous essayé ça? Si vous avez utilisé 15.04, il existe également une solution de contournement pour télécharger quelques packages et remplacer les anciens par les nouveaux. Je l'ai déjà testé le 15.04, ça marche.
Forcer Pidgin à télécharger de nouveaux certificats.
rm ~/.purple/certificates/x509/tls_peers/*
Fermez et ré-ouvrez Pidgin.
ls ~/.purple/certificates/x509/tls_peers/*
Cela devrait maintenant lister les certificats récemment téléchargés.