web-dev-qa-db-fra.com

Forcer Pidgin à accepter un certificat invalide

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).

enter image description here

Voici ce que j'ai fait:

  • visité le domaine sur Firefox et exporté le certificat
  • importé le certificat sur les outils Pidgin ->
  • Importation du certificat sur seahorse (interface graphique du trousseau de clés gnome)
23
That Brazilian Guy

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)

11

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-----
13
Martin

Moyen facile,

  1. Fermer le pidgin
  2. Recherchez votre dossier de certificats (Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. Supprimer tout dans le dossier du certificat.
  4. Redémarrez pidgin et vous devriez éventuellement obtenir un nouveau certificat qui fonctionne.

P.S: Les utilisateurs Windows qui ne connaissent pas %app­data% saisissent simplement %appdata%\.purple dans votre barre d’adresse et appuyez sur Entrée.

2
Nullpointer

Il semble important que le nom que vous entrez lors de l’importation du certificat via ToolsCertificates 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.

Connect server and certificate hostname should match

2
tobigue

Une autre solution consiste à importer le nom du serveur spécifié dans l'erreur, tel que myserver.chat.com. Par exemple:

  1. Ouvrez le navigateur Firefox et mettez l'URL: HTTPS://mysever.chat.com, vous obtiendrez une erreur:

    Invalid certificate error

  2. Sélectionnez l'option Advancedpuis Add Exception. Une fenêtre contextuelle pour le certificat s'ouvrira.

  3. Cliquez ensuite sur Advanced-> Details-> Exportname__

    Certificate Viewer

  4. Sauvegarder le certificat quelque part

  5. Ouvrez Pidgin, allez à Tools-> Certificates-> AddMaintenant, enregistrez le certificat avec le même nom commun que l'erreur au début.

Enfin, essayez de vous reconnecter.

2
Y Melo

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.

1
user591856

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.

1
user3417815

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.

0
Binoy