gpt4 book ai didi

python - 如何加载 PEM 编码证书链中的所有证书?

转载 作者:行者123 更新时间:2023-12-05 02:53:06 25 4
gpt4 key购买 nike

当我使用 OpenSSL.crypto.load_certificate(b'< PEM encoded certificate bytes >') 时PEM 编码的完整证书链上的函数,只有第一个证书作为 OpenSSL.crypto.X509 加载目的。

其余证书将被完全忽略。我认为这是因为解析器命中“END CERTIFICATE”并停止读取。 OpenSSL(或其他地方)中是否有实用函数来解析和加载整个证书链?

“完整证书链”是指包含多个 ----- BEGIN CERTIFICATE ----- 的 PEM 格式证书/----- END CERTIFICATE -----标记。

最佳答案

这是一个从 PEM 编码字节缓冲区读取所有证书的简短片段:

start_line = b'-----BEGIN CERTIFICATE-----'

def read_all_certs(pem_bytes):
result = []
cert_slots = pem_bytes.split(start_line)
for single_pem_cert in cert_slots[1:]:
cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, start_line+single_pem_cert)
result.append(cert)
return result

关于python - 如何加载 PEM 编码证书链中的所有证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62310878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com