Was ist der Unterschied zwischen m2crypto der set_client_CA_list_from_file () und load_verify_info () und wenn Sie jede verwenden würde?

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

  •  13-09-2019
  •  | 
  •  

Frage

Die m2crypto Bibliothek einige CA-bezogene Funktionen auf seine SSL.Context Objekt , aber die Dokumentation ist sehr unklar, wenn Sie bestimmte Funktionen verwenden würde und warum. In der Tat sind die Docs für fast alle von ihnen, „Load CA certs in den Kontext“, so scheint es möglich, dass sie alle das gleiche tun.

Es gibt mehr < a href = "http://www.cs.technion.ac.il/~danken/SecureXMLRPCServer.py" rel = "nofollow noreferrer"> Beispiele dass sowohl set_client_CA_list_from_file() und load_verify_info() verwenden, aber es gibt auch andere ähnliche Funktionen wie load_client_ca() und load_verify_locations().

Ich schreibe sowohl Client- als auch Server-Stücke. Welche Funktionen soll ich verwenden und warum? Was genau tun sie?

Edit:

Beim Blick durch den Code sehe ich:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

und

# Deprecated.
load_verify_info = load_verify_locations

Damit hilft ein wenig. Dies bringt uns bis zu zwei Funktionen: set_client_CA_list_from_file() und load_verify_locations(). Aber ich kann immer noch nicht ganz sagen, der Unterschied zwischen den beiden.

War es hilfreich?

Lösung

Wenn der Server den Client erfordert ein Zertifikat zu präsentieren, können sie festlegen, wer die gültigen Emittenten der Client-Zertifikate werden von den Emittenten der Angabe Aufruf set_client_CA_list_from_file . Das ist eigentlich ziemlich selten.

Der Kunde gibt an, wer ist das gültige Server-Zertifikat Emittenten durch den Aufruf von load_verify_locations . Fast alle Kunden sollten dies tun.

Sowohl Client und Server aufrufen load_cert ihr eigenes Zertifikat setzen. Server sollten fast immer dies tun. Kunden sollten wahrscheinlich dies nur tun, wenn der Server den Client erfordert ein Zertifikat präsentieren zu können.

Ich empfehle Ihnen, eine Kopie von Pick Network Security mit OpenSSL von John Viega, Matt Messier und Pravir Chandra, ISBN 059600270X, die diese Fragen genauer klären sollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top