我正在尝试使用PIKA连接rabbitmq。我们使用证书(SSL)来完成这项工作。以下是他们的(PIKA)示例:
context = ssl.create_default_context(
cafile="PIKA_DIR/testdata/certs/ca_certificate.pem")
context.load_cert_chain("PIKA_DIR/testdata/certs/client_certificate.pem",
"PIKA_DIR/testdata/certs/client_key.pem")
ssl_options = pika.SSLOptions(context, "localhost")
conn_params = pika.ConnectionParameters(port=5671, ssl_options=ssl_options)
如果我们的cert文件有一个文件路径,但是我们在Windows上,它们存储在Windows存储区中,那么这就太好了。所以我不相信上面提供的加载cert chain()会起作用。
我可以访问(或查看)以下特定证书:
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
context.load_default_certs()
certs = context.get_ca_certs()
但这有一个证书列表。我看不出任何明显的方法来搜索和获取我需要的证书。即使可以,我也不知道如何将代码连接到“pika.ssloptions(context,…)”。
所以这里有两个问题,但更重要的是:
-
如何从Windows应用商店中提取特定证书(因为我没有文件路径)?
(另一个问题是如何将其与PIKA连接起来,但如果回答了上述问题,我可能会想出来。)
注意:PIKA只是一个与rabbitmq接口的第三方库。
注2:使用python3.5