繁体   English   中英

使用python从Windows存储访问特定证书

[英]Accessing a specific certificate from the windows store with python

我正在尝试使用Pika连接到RabbitMQ。 我们正在使用证书(ssl)来做到这一点。 这是他们(皮卡)的例子:

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存储中,那么这很好。 因此,我不相信上面提供的load_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

看起来,从该搜索中读取到一些命中之后,大多数处理Windows证书存储的Python库都是这样做的,以获取CA证书和CRL列表,而不是单个证书。

可能正在寻找wincertstore库。


注意: RabbitMQ团队监视rabbitmq-users 邮件列表 ,仅在某些情况下回答关于StackOverflow的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM