gpt4 book ai didi

python - 包装套接字时使用的自签名证书

转载 作者:行者123 更新时间:2023-12-01 02:26:28 24 4
gpt4 key购买 nike

我正在尝试使用在 ssl 握手中使用加密模块生成的自签名 x509 证书。我正在按照 the documentation 中的规定生成 PEM 文件的证书和 key 并使用以下函数将它们写入文件:

def write_key_and_cert(self, certname="cert.pem", keyname="key.pem"):
with open(certname, "wb") as f:
f.write(self.cert.public_bytes(serialization.Encoding.PEM))
with open(keyname, "wb") as f:

f.write(self.private_key.private_bytes(encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.BestAvailableEncryption(b"passphrase"),),)

在套接字包装期间出现问题,服务器无法使用证书文件和 key 文件,从而导致挂起。我相信这是由于 key 文件被加密(ssl 包装不会解密 key 文件)。有没有办法使用加密模块生成的证书文件/ key 文件,如果可以,如何使用?

最佳答案

通过创建上下文并在加载证书链时指定密码解决了这个问题:

context = ssl.create_default_context()
context.load_cert_chain(certfile=self.certfile, keyfile=self.keyfile, password=b"passphrase")

这可以让 ssl 模块解密 key 文件并正确加载。

关于python - 包装套接字时使用的自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47338790/

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