Comment éviter le "tlsv1 alerte inconnu ca' erreur dans libmproxy?

Actuellement à l'aide de libmproxy, qui à son tour utilise telnetlib, à faire des requêtes HTTPS pages Web. Cependant, l'erreur suivante est générée:

Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')]

Je crois que c'est lié à l'incapacité de vérifier l'identité de l'autorité de certification qui garantit le certificat de la page utilise. Je pense qu'il devrait être un paramètre que je peux l'activer (ou désactiver) qui permet de contourner la vérification - je ne suis pas intéressé à la vérification de l'identité du signataire numérique.

Je pense qu'un possible, genre de laid, la solution pourrait être de patch le code de capture de l'exception et de l'ignorer, mais je préfère avoir un plus propre et plus moyen de le faire.

Ce qui est un bon moyen pour éviter à résoudre ce problème?

Merci beaucoup!

  • Savez-vous que, en contournant la vérification fait le lien vulnérable à des attaques de type MITM?
  • Oui. C'est en soi un environnement d'insécurité et c'est "OK" pour entrer potentiellement les situations d'insécurité. Merci pour le heads up, bien 🙂
  • J'ai essayé de creuser dans cette, mais il n'est pas vraiment un "python" question - la réponse va être spécifique pour les bibliothèques sous-jacentes. Il ressemble à libmproxy utilise netlib qui utilise la bibliothèque openssl, si je dois commencer par regarder la bibliothèque openssl, et de trouver comment désactiver la validation, puis voir si netlib a un moyen de l'activer, puis voir si libmproxy a un moyen d'activer faire netlib faire la chose qui rend openssl pas valider le cert..
  • J'ai essayé l'exemple: mitmproxy.org/doc/scripting/libmproxy.html et a chargé un site web qui n'a pas d'autorité de certification de confiance avec succès. pourriez-vous poster du code sur la façon dont vous utilisez la lib? ou l'exemple de lien qui cause le problème? avez-vous des côté client ca fichiers?
  • Avez-vous regardé les options de configuration? Peut-être essayer le réglage de no_upstream_cert=True? Les valeurs par défaut: Config(certfile = None, cacert = None, clientcerts = None, no_upstream_cert=False, body_size_limit = None, reverse_proxy=None, forward_proxy=None, transparent_proxy=None, authentificateur=None)
  • Je crois que nous n'avons pas de client-côté CA de fichiers. @CypressFrankenfeld, je vois que vous avez mis no_upstream_cert à la fois Vrai et Faux, donc je suis un peu confus. Si vous le souhaitez, vous pourriez la mode cela comme une réponse et je vais prendre un coup d'oeil.