This is to create a certificate signing request, but the concept should be the same
from OpenSSL import crypto req = crypto.X509Req() pkey = crypto.PKey() pkey.generate_key(crypto.TYPE_RSA, 2048) req.set_pubkey(pkey) req.sign(pkey, 'sha1') certreq = crypto.dump_certificate_request(crypto.FILETYPE_PEM, req) certreq = certreq.replace('-----BEGIN CERTIFICATE REQUEST-----\n', '').replace('-----END CERTIFICATE REQUEST-----\n', '') private_key = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey)
for the certificate you can use:
crypto.dump_certificate(type, cert)
source share