使用python打开密码保护的.pem和.crt文件



我使用命令创建了一个私钥和公钥:

.....
openssl genrsa -aes256 -passout pass:password -out key.pem
4096 &&
openssl rsa -in key.pem -passin pass:password -pubout -out 
pukey.pub

,然后使用以下命令创建证书文件:

openssl req -new -key key.pem -passin pass:password -x509 -out 
keycert.pem -days 365000 -subj '/CN=localhost'

所以我已经保护了密钥。pem与密码,我想在我的python程序中打开它,我如何指定密码打开密钥。Pem文件和keycert。pem文件?

with open('../key.pem', 'rb') as f:
private_key = f.read()
with open('../keycert.pem', 'rb') as f:
certificate_chain = f.read()

当我运行这个时,我得到错误:

E1117 13:57:03.515461744   70812 ssl_transport_security.cc:854] 
Invalid private key.

显示无法打开密钥。Pem文件,因为它受密码保护

使用这一行:

with open('key.pem', 'rb') as f:
private_key=load_pem_private_key(f.read(), password="1".encode(),
backend=default_backend())
pem =private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption()
)

解决了这个问题,首先加载私钥,然后将其转换为字节。

相关内容

  • 没有找到相关文章

最新更新