Quelle est la différence entre le set_client_CA_list_from_file de M2Crypto () et load_verify_info () et quand voulez-vous utiliser chacun?

StackOverflow https://stackoverflow.com/questions/1848160

  •  13-09-2019
  •  | 
  •  

Question

Le bibliothèque M2Crypto a quelques fonctions liées à CA sur son objet SSL.Context , mais la documentation est très pas clair lorsque vous utilisez certaines fonctions et pourquoi. En fait, la documentation pour la quasi-totalité d'entre eux sont « Load CA certs dans le contexte, » il semble donc possible que tous font la même chose.

Il y a plusieurs < a href = "http://www.cs.technion.ac.il/~danken/SecureXMLRPCServer.py" rel = "nofollow noreferrer"> Exemples qui utilisent à la fois set_client_CA_list_from_file() et load_verify_info(), mais il y a aussi d'autres similaires fonctions comme load_client_ca() et load_verify_locations().

Je suis en train d'écrire deux pièces client et serveur. Quelles fonctions dois-je utiliser et pourquoi? Qu'est-ce que précisément ils le font?

Modifier

En regardant à travers le code que je vois:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

et

# Deprecated.
load_verify_info = load_verify_locations

Alors ça aide un peu. Cela nous amène jusqu'à deux fonctions: set_client_CA_list_from_file() et load_verify_locations(). Mais je ne peux toujours dire pas tout à fait la différence entre les deux.

Était-ce utile?

La solution

Si votre serveur demande au client de présenter un certificat, il peut limiter les émetteurs qui sont valides des certificats clients en spécifiant les émetteurs appelant set_client_CA_list_from_file . Ceci est en fait assez rare.

Le client indique qui sont les émetteurs de certificats de serveur valide en appelant load_verify_locations . Presque tous les clients devraient le faire.

Le client et le serveur peuvent appeler load_cert pour définir leur propre certificat. Les serveurs doivent presque toujours faire cela. Les clients devraient probablement faire que si le serveur exige que le client de présenter un certificat.

Je vous recommande de choisir une copie de sécurité réseau OpenSSL par John Viega, Matt Messier et Pravir Chandra, ISBN 059600270X, qui devrait clarifier ces questions plus en détail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top