PyOpenSSL

26.0.0 · active · verified Sat Mar 28

PyOpenSSL is a Python wrapper around the OpenSSL library, providing a high-level interface for cryptographic operations. The current version is 26.0.0, with releases following a regular cadence to incorporate updates and fixes.

Warnings

Install

Imports

Quickstart

This script demonstrates how to generate a new RSA key pair and create a self-signed certificate using PyOpenSSL.

from OpenSSL import crypto

# Generate a new RSA key pair
key = crypto.PKey()
key.generate_key(crypto.TYPE_RSA, 2048)

# Create a self-signed certificate
cert = crypto.X509()
cert.set_version(2)
cert.set_serial_number(1000)
cert.get_subject().CN = 'example.com'
cert.set_issuer(cert.get_subject())
cert.set_pubkey(key)
cert.sign(key, 'sha256')

# Save the private key and certificate to files
with open('private_key.pem', 'wb') as key_file:
    key_file.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key))

with open('certificate.pem', 'wb') as cert_file:
    cert_file.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))

print('Private key and certificate have been generated and saved.')

view raw JSON →