2017-08-29 7 views
0

Il est donné dans la documentation de urllib3 que,Utiliser le certificat ssl du serveur au lieu de certificat CA racine tout en HTTPS appels à l'aide urllib3

Afin de permettre la vérification que vous aurez besoin d'un ensemble de certificats racine.

mais est-il possible d'effectuer des appels HTTPS en utilisant le certificat SSL du serveur lui-même au lieu des certificats racine.

+0

C'est une bonne raison pour avoir des certificats racines de confiance. Les certificats auto-signés ne seront "approuvés" que si vous les installez localement. – bated

+0

* "... mais existe-t-il un moyen de vérifier le certificat SSL du serveur lui-même au lieu des certificats racine." * - Je pense qu'il vous manque des concepts essentiels. Les certificats racine ne sont pas vérifiés. Ils sont considérés comme approuvés puis utilisés comme point d'ancrage de confiance pour vérifier les certificats du serveur. –

+0

Merci pour la réponse rapide. Pour supposer que le certificat ssl du serveur est 'A' et que le certificat racine est 'R'. À l'heure actuelle, je suis en mesure de faire des appels HTTPS si j'ai «R», mais pas si j'ai seulement «A». S'il y a deux serveurs qui ont le même certificat racine, les deux seront vérifiés si nous utilisons seulement 'R' mais si nous prenons 'A' en considération, nous pouvons rejeter les appels aux autres. –

Répondre

1

urllib3 a une propriété du PoolManager appelé assert_fingerprint: cette propriété peut être initiée avec une chaîne qui est le condensé hex codé des octets de certificat. Lorsqu'il est utilisé, cela contournera la logique de construction de chaîne habituelle.