Py学习  »  Python

使用python从Windows应用商店访问特定证书

KickingLettuce • 4 年前 • 617 次点击  

我正在尝试使用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,…)”。

所以这里有两个问题,但更重要的是:

  1. 如何从Windows应用商店中提取特定证书(因为我没有文件路径)?

(另一个问题是如何将其与PIKA连接起来,但如果回答了上述问题,我可能会想出来。)

注意:PIKA只是一个与rabbitmq接口的第三方库。 注2:使用python3.5

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38273
 
617 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Luke Bakken
Reply   •   1 楼
Luke Bakken    5 年前

看起来,在读了一些 this search 大多数处理Windows证书存储的python库都这样做来获取 CA certs and CRL lists 也不是每个人都能证明这一点。

这个 wincertstore 图书馆 可以 做你想要的。


注: rabbitmq团队监控 rabbitmq-users mailing list 有时只回答stackoverflow上的问题。