我使用stomp.py建立到ActiveMQ-Artemis/2.7.0.redhat-00056 ActiveMQ Artemis Messaging Engine的Stomp1.2SSL连接。我对服务器没有控制权,我收到了以下说明。(我是下文所述的订户。)
另一方将向每个订阅者提供一个信任存储文件、一个证书文件以及一对用户ID和密码。根据订阅服务器系统的需求,订阅服务器可能需要将证书文件导入其服务器证书存储库,或者订阅服务器可能需要将信任存储文件嵌入到其连接编码中。
set_ssl中找到的http://jasonrbriggs.github.io/stomp.py/stomp.html#module-stomp.connect方法传递所需的文件吗?broker_cert.cer.txt和client.ts。我不知道如何使用它们。我在https://stackoverflow.com/a/50774783/16235794中看到了答案,听起来好像我需要生成.key和.pem文件。但是,如果我正在生成文件,另一方应该如何核实它们呢?为了身份验证目的,我应该从对方那里接收哪些文件?发布于 2021-08-04 08:07:58
默认情况下,stomp.py库不验证服务器证书,因此只使用服务器地址调用set_ssl方法就可以了,即:
conn.set_ssl([('127.0.0.1', 62614)])使用PEM服务器证书调用set_ssl方法来验证服务器证书,即:
conn.set_ssl([('localhost', 62614)], ca_certs='broker_cert.pem')使用keytoot工具将PEM服务器证书从client.ts信任存储库导出,或将其请求到另一方。
keytool -keystore server-client.ts -storepass <STORE_PASSWORD> -alias <ALIAS> -exportcert -rfc > broker_cert.pem有关更多细节,请参见ssl.py。
https://stackoverflow.com/questions/68645807
复制相似问题