Forcer Pidgin à accepter un certificat non valide

23

J'obtiens 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).

entrez la description de l'image ici

Voici ce que j'ai fait:

  • visité le domaine sur Firefox et exporté le certificat
  • importé le certificat sur les outils Pidgin -> certificats
  • Importation du certificat sur seahorse(interface graphique de trousseau gnome)
Ce gars brésilien
la source
Veuillez ajouter la version Ubuntu et la source de cette version Pidgin.
AB
Vous avez vu ça ? Peut-être que quelqu'un pourrait travailler avec ces informations ...
Byte Commander
@ByteCommander le lien que vous avez fourni n'est qu'une maquette de proposition. J'adore le voir mettre en œuvre, mais je ne suis pas développeur.
Ce brésilien Guy
J'ai besoin d'un certificat invalide. =)
AB
@AB Avez-vous déjà modifié la source? Si oui, je vais passer à autre chose :)
kos

Réponses:

13

Comme alternative, vous pouvez télécharger le certificat SSL à la main. Ensuite, pidgin démarre sans problème. 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 d'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

Copiez maintenant la pièce 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-----
Martin
la source
1
...et maintenant quoi? où placer le fichier téléchargé?
Ce type brésilien
8
Placez le fichier dans le répertoire ~ / .purple / certificats / x509 / tls_peers / Et il est important que le nom de fichier soit le nom DNS du serveur jabber. Par conséquent, si votre compte Jabber est [email protected], vous devez créer le fichier: ~ / .purple / certificats / x509 / tls_peers / jabber.ulm.ccc.de
Martin
2
Le commentaire ci-dessus de @Martin devrait être inclus dans la réponse, car il est très important de faire en sorte que cela fonctionne. Solution confirmée sur Kubuntu 15.04 avec Pidgin 2.10.9 (libpurple 2.10.9).
Bastien
11

Il s'avère qu'il y a un bug avec les certificats dans Pidgin 2.10.10 (libpurple 2.10.10):

Dans la version 2.10.10, il n'est plus possible de se connecter à un serveur XMPP qui utilise un certificat SSL auto-signé. Le message d'erreur est: Le certificat n'a pas pu être validé. La chaîne de certificats présentée n'est pas valide.

La connexion est possible si le certificat de serveur est déjà dans le cache local (.purple \ certificats \ x509 \ tls_peers). Si le certificat n'est pas encore mis en cache (par exemple après une nouvelle installation de windows / pidgin) la connexion échoue.

La mise à niveau vers 2.10.11 résout le problème. Si vous utilisez une ancienne version d'Ubuntu comme moi, vous pouvez utiliser le PPA (12.04, 14.04 et 14.10)

Ce gars brésilien
la source
2
Malheureusement, la mise à niveau vers pidgin 2.10.11en Ubuntu 15.04n'aide pas. Je viens de le vérifier et je vois que le problème n'est toujours pas résolu.
Jacobian
@Jacobian Avez-vous mis à niveau Pidgin et libpurple?
Ce gars brésilien
2
Oui, cela ne fonctionnerait pas pour moi tant que je n'aurais pas supprimé libpurple: sudo apt-get remove libpurple0puis réinstallésudo apt-get install pidgin
EoghanM
Ce sentiment, quand un PPA obsolète d'un an est supérieur de 2 versions au référentiel officiel.
Hi-Angel
2

Il semble important que le nom que vous entrez lors de l'importation du certificat via ToolsCertificatescorresponde à celui connect serverde la configuration du compte XMPP. C'est la seule façon dont j'ai pu le faire fonctionner pour la même erreur.

Le serveur de connexion et le nom d'hôte du certificat doivent correspondre

la ligue
la source
1
Bienvenue pour demander à Ubuntu! Pourriez-vous nous en dire plus (EG Donnez un exemple de commande)? Si elle est bonne et que vous me laissez un mot, je reviendrai et je voterai! ;-)
Fabby
1
@Fabby merci, j'ai ajouté une capture d'écran pour le rendre plus clair, aucune commande nécessaire.
tobigue
Un montage et un vote positif! ;-)
Fabby
Après des heures passées à résoudre (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedC'était la solution !! Merci!!
matteolel
2

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

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

    Erreur de certificat non valide

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

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

    Visionneuse de certificats

  4. Enregistrez le certificat quelque part

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

Enfin, essayez de vous reconnecter.

Y Melo
la source
Si un client (opérationnel) sur une autre machine est disponible, l'exportation du certificat à partir de là et la réimportation comme vous l'avez décrit (les deux utilisant le gestionnaire de certificats) fonctionnent également.
bully
2

Moyen facile,

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

PS: les utilisateurs de Windows qui ne sont pas familiers avec %app­data%simplement tapez %appdata%\.purplevotre barre d'adresse et appuyez sur Entrée.

Pointeur nul
la source
1

J'ai pu contourner le problème du certificat en le remplaçant manuellement par une copie enregistrée à quelques reprises. Arrêté de fonctionner après cela, et la mise à niveau vers 2.11 ne semblait pas aider.

Si vous construisez à partir des sources, une chose à essayer est de modifier le code source de libpurple / certificats.c; déplacer la vérification PURPLE_CERTIFICATE_FATALS_MASK sous la vérification PURPLE_CERTIFICATE_NON_FATALS_MASK pour inviter l'utilisateur mais autoriser le certificat s'il est accepté. Ce n'est probablement pas la chose la plus sûre à faire, mais cela a fonctionné pour moi.

user591856
la source
1

Vous pouvez utiliser PPA pour les développeurs Pidgin pour le résoudre. J'ai installé les packages pidgin et libpurple à partir de cette source et cela a résolu mon problème d'accès aux ressources Lync 2013. Maintenant, il peut automatiquement autoriser les certificats (afficher la boîte de dialogue pour accepter ou refuser un certificat inconnu). As-tu 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 de nouveaux. Je l'ai déjà testé le 15.04, ça fonctionne.

user3417815
la source
Il serait utile de partager les "quelques packages" à télécharger et ceux à remplacer. Le hic, c'est que j'ai maintenant 15.04 et pidgin 2.10.11, mais j'ai toujours ce message d'erreur notoire sur les certificats.
Jacobian
Tous ces packages dans pidgin repo, vous les trouverez lorsque vous essayez d'installer pidgin et libourple OU vous pouvez ajouter pidgin repo avec la version de distribution précédente à sources.list et faire l'installation habituelle, il installera automatiquement toutes les dépendances, mais veuillez vérifier pidgin PPA , peut-être qu'il a déjà une version pour vivid
user3417815
Eh bien, les messages sur les certificats existent toujours dans pidgin, mais vous pourrez désormais accepter le certificat pour chaque session
user3417815
donc, s'ils sont déjà là dans le repo, pourquoi ne sont-ils pas installés automatiquement? Et pouvez-vous, s'il vous plaît, nommer certains de ces paquets, afin que je puisse les localiser? Et seriez-vous si gentil de partager la façon dont ces paquets devraient être installés (séparément de pidgin ou en utilisant ./configure ou autre?), Sinon, "l'installation habituelle" semble trop vague.
Jacobian
Comme je l'ai dit, c'est PPA, mais vous pouvez le vérifier et trouverez probablement qu'il n'a pas de builds spécialement pour 15.04. Donc, si vous l'ajoutez en tant que PPA, vous ne pourrez probablement pas installer de packages à partir de là. Cela fait-il sens? Je suis désolé, j'ai vérifié ce PPA il y a environ un mois, il n'y avait toujours pas de builds pour vivid.
user3417815
0

Forcer pidgin à télécharger de nouveaux certificats.

rm ~/.purple/certificates/x509/tls_peers/*

Fermez et rouvrez le pidgin.

ls ~/.purple/certificates/x509/tls_peers/*

Maintenant, cela devrait répertorier les certificats nouvellement téléchargés.

Binoy
la source