在使用OpenSSL的Python中,如果我有一个自签名的根CA和一个证书签名请求(CSR),那么如何从根CA签名的CSR创建证书?(我说得对吗?)
from OpenSSL import crypto, SSL
# create a self-signed root CA cert
rootkey = crypto.PKey()
rootkey.generate_key(crypto.TYPE_RSA, 2048)
rootca = crypto.X509()
rootca.get_subject().CN = "my_root_ca"
rootca.gmtime_adj_notBefore(10)
rootca.gmtime_adj_notAfter(10*365*24*60*60)
rootca.set_issuer(rootca.get_subject())
rootca.set_pubkey(rootkey)
rootca.sign(rootkey, 'sha256')
# create a CSR with a code in CN
csrkey = crypto.PKey()
csrkey.generate_key(crypto.TYPE_RSA, 2048)
csr = crypto.X509Req()
csr.get_subject().CN = '4854996413a0bcffb73b956d63f728d10e6d97bb'
csr.set_pubkey(csrkey)
csr.sign(csrkey, 'sha256')
# save files
open('rootCA.pem', 'wb').write(crypto.dump_certificate(crypto.FILETYPE_PEM, rootca))
open('rootCA.key', 'wb').write(crypto.dump_privatekey(crypto.FILETYPE_PEM, rootkey))
open('verificationCert.csr', 'wb').write(crypto.dump_certificate_request(crypto.FILETYPE_PEM, csr))
现在如何在python中使用根ca对CSR进行签名?
(同样,如果白话不正确,很抱歉,请随时更正)
下面是我尝试在Python中复制的等效命令行:
openssl x509 -req -in verificationCert.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out verificationCert.pem -days 500 -sha256
谢谢大家!
目前没有回答
相关问题 更多 >
编程相关推荐