如何使用python中的pyopenssl模块将证书链转储到PEM文件中

发布时间:2021-03-08 04:01

我想将完整的证书链转储到 PEM 文件中。目前我正在尝试使用 pyOpenSSL 模块,因为 ssl 模块没有提供获取证书链的方法(只有服务器证书下载可用)。

import OpenSSL

def get_cert_chain(address, port=443):
    context = Context(SSLv23_METHOD)
    client = socket()
    client.connect((address, port))
    clientSSL = Connection(context, client)
    clientSSL.set_connect_state()
    clientSSL.do_handshake()
    return clientSSL.get_peer_cert_chain()

#The below certificate_chain variable contains the stack of X509 certificates
certificate_chain = get_cert_chain('www.google.com')

目的:我想导入完整的目标 IP 链并在 .pem 文件上运行 keytool 导入以添加到 Wildfly 信任库。但是,X509 类中没有方法可以执行将链转储到 .pem 文件等类似操作。

添加了以下相同的屏幕截图 -(调试点)

debug from visual studio code debug from visual studio code

回答1