M2Crypto library在它的SSL.Context object上有一些与CA相关的函数,但是文档对于何时使用某些函数以及为什么要使用这些函数还很不清楚。事实上,几乎所有这些文档的文档都是“将CA证书加载到上下文中”,因此看起来它们都可能执行相同的操作。在
有severalexamples同时使用set_client_CA_list_from_file()
和{load_client_ca()
和{
我正在编写客户端和服务器部分。我应该使用什么函数?为什么?他们具体做什么?在
编辑:
翻看代码我看到:
# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file
以及
^{pr2}$所以这有点帮助。这将我们归结为两个函数:set_client_CA_list_from_file()
和{
如果您的服务器要求客户端提供证书,它可以通过指定调用set_client_CA_list_from_file的颁发者来限制谁是客户端证书的有效颁发者。这其实很少见。在
客户端通过调用load_verify_locations,指定谁是有效的服务器证书颁发者。几乎所有的客户都应该这样做。在
{a3和服务器都可以调用自己的证书。服务器应该总是这样做。只有当服务器要求客户端提供证书时,客户端才应该这样做。在
我建议您选择一份John Viega、Matt Messier和Pravir Chandra的《使用OpenSSL的网络安全性》(Network Security with OpenSSL)的副本,ISBN 059600270X将更详细地阐明这些问题。在
相关问题 更多 >
编程相关推荐