M2Cryptoのset_client_CA_list_from_file()とload_verify_info()の違いは何ですか?また、それぞれをいつ使用しますか?

m2crypto python
M2Cryptoのset_client_CA_list_from_file()とload_verify_info()の違いは何ですか?また、それぞれをいつ使用しますか?

M2Crypto libraryには、http://www.heikkitoivonen.net/m2crypto/api/M2Crypto.SSL.Context ‘にCA関連の機能がいくつかあります。 Context-class.html [SSL.Context object]ですが、特定の機能をいつ使用するか、およびその理由についてのドキュメントは非常に不明瞭です。 実際、それらのほとんどすべてのドキュメントは「CA証明書をコンテキストに読み込む」ため、すべて同じことを行う可能性があります。

http://www.heikkitoivonen.net/blog/2008/10/14/ssl-in-python-26/ [複数] http://www.cs.technion.ac.il/~danken/SecureXMLRPCServerがあります。 `set_client_CA_list_from_file()`と `load_verify_info()`の両方を使用するpy [examples]ですが、 `load_client_ca()`や `load_verify_locations()`のような他の同様の関数もあります。

クライアントとサーバーの両方の部分を書いています。 使用する機能とその理由 彼らは具体的に何をしますか?

編集:

私が見るコードを見て:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

and

# Deprecated.
load_verify_info = load_verify_locations

それで少し役立ちます。 これにより、 `set_client_CA_list_from_file()`と `load_verify_locations()`の2つの関数になります。 しかし、私はまだ2つの違いをはっきりとは言えません。

  2  0


ベストアンサー

サーバーがクライアントに証明書の提示を要求する場合、http://www.heikkitoivonen.net/m2crypto/api/M2Crypto.SSL.Connection%27を呼び出す発行者を指定することにより、クライアント証明書の有効な発行者を制限できます。 Connection-class.html#set_client_CA_list_from_file [* set_client_CA_list_from_file *]。 これは実際には非常にまれです。

クライアントは、http://www.heikkitoivonen.net/m2crypto/api/M2Crypto.SSL.Context%27.Context-class.html#load_verify_locations [* load_verify_locations *]を呼び出して、有効なサーバー証明書の発行者を指定します。 ほとんどすべてのクライアントがこれを行う必要があります。

クライアントとサーバーの両方がhttp://www.heikkitoivonen.net/m2crypto/api/M2Crypto.SSL.Context%27.Context-class.html#load_cert[load_cert]を呼び出して独自の証明書を設定できます。 サーバーはほとんど常にこれを行う必要があります。 サーバーがクライアントに証明書の提示を要求する場合にのみ、クライアントはおそらくこれを行うべきです。

John Viega、Matt Messier、Pravir Chandra、ISBN 059600270Xによる* OpenSSLを使用したNetwork Securityのコピーを選択することをお勧めします。

2


タイトルとURLをコピーしました