OpenSSL in Python: Keys and Certificates
Guard The Center
12 min readMar 5, 2023
Configuration
hash_algorithm = "sha256"
timestamp_epoch_time_start = 0
timestamp_epoch_time_end = 10*365*24*60*60
key_length_RSA = 2048
"""
10*365*24*60*60 = 315360000
GMT: Sunday, December 30, 1979 12:00:00 AM0
GMT: Thursday, January 1, 1970 12:00:00 AM"""
"""
import time# Convert Epoch time to Unix Timestamp
epoch_time = 1644018562
unix_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(epoch_time))
print(f"Unix Timestamp: {unix_time}")# Convert Unix Timestamp to Epoch time
unix_time = '2022-02-04 09:36:02'
epoch_time = int(time.mktime(time.strptime(unix_time, '%Y-%m-%d %H:%M:%S')))
print(f"Epoch Time: {epoch_time}")
"""key_file_name = 'key_site_00.pem'
cert_file_name = 'cert_site_00.pem'port_number = 10000
data_chunk_size_in_bytes_per_session = 1024cert_serial_number = 11099011message = b"Hello, world!"county = "US"
state = "California"
city = "San Francisco"
name_organization = "Org U"
name_department = "Dept X"
Certificate Generation
#!pip install pyOpenSSL
from OpenSSL import crypto, SSL
import time
# Generate private key
key = crypto.PKey()
key.generate_key(crypto.TYPE_RSA, key_length_RSA)
# Create a certificate signing request for key exchange
req =…