我已经使用openssl生成了X.509自签名,如下所示:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
这生成了两个文件:cert.pem和key.pem文件。
我的cert.pem文件包含公用密钥。如何使用Python提取它?
我无法使用python的OpenSSl库。我可以使用加密库。
我当前的代码:
cert = x509.load_pem_x509_certificate(pem_data, default_backend())
print(cert.public_key)
答案 0 :(得分:0)
除非我对您的问题有误解,否则您将执行与使用python读取任何其他文件内容相同的操作。
这样的事情应该让您入门:
#!/usr/bin/env python
from subprocess import Popen, PIPE, STDOUT
p = Popen(["openssl", "rsa", "-in", "key.pem", "-pubout", "-out", "key.pub"], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
p.stdout.readline().rstrip()
pubkey_file=open('key.pub', 'r')
for line in pubkey_file.readlines():
data=line.strip('\n')
print(data)
pubkey_file.close()