这就是我创建证书的方式
from OpenSSL import crypto
cert = crypto.X509()
cert.get_subject().C = countryName
cert.get_subject().ST = stateOrProvinceName
...
Here一代是什么样子。
现在,如何使用PyOpenSSL向后从普通文件中提取证书的值?
所以这就是我的想法
def certext(certstr):
p1 = Popen(['printf', certstr], stdout=PIPE)
p2 = Popen(['openssl', 'x509', '-text'], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close()
output = p2.communicate()[0]
return output
最佳答案
您可以按以下方式加载PEM证书:
import OpenSSL.crypto
st_cert=open(certfile, 'rt').read()
c=OpenSSL.crypto
cert=c.load_certificate(c.FILETYPE_PEM, st_cert)
和具有以下内容的私钥:
st_key=open(keyfile, 'rt').read()
key=c.load_privatekey(c.FILETYPE_PEM, st_key)
其中certfile和keyfile是文件名。
关于x509certificate - PyOpenSSL读取证书/pkey文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565597/