mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-01-23 05:25:01 +03:00
25 lines
1.0 KiB
Python
Executable File
25 lines
1.0 KiB
Python
Executable File
import os
|
|
from OpenSSL import crypto
|
|
|
|
|
|
def create_self_signed_cert(certfile, keyfile, certargs, cert_dir="."):
|
|
C_F = os.path.join(cert_dir, certfile)
|
|
K_F = os.path.join(cert_dir, keyfile)
|
|
if not os.path.exists(C_F) or not os.path.exists(K_F):
|
|
k = crypto.PKey()
|
|
k.generate_key(crypto.TYPE_RSA, 2048)
|
|
cert = crypto.X509()
|
|
cert.get_subject().C = certargs["Country"]
|
|
cert.get_subject().ST = certargs["State"]
|
|
cert.get_subject().L = certargs["City"]
|
|
cert.get_subject().O = certargs["Organization"]
|
|
cert.get_subject().OU = certargs["Org. Unit"]
|
|
cert.get_subject().CN = 'Example'
|
|
cert.set_serial_number(1000)
|
|
cert.gmtime_adj_notBefore(0)
|
|
cert.gmtime_adj_notAfter(315360000)
|
|
cert.set_issuer(cert.get_subject())
|
|
cert.set_pubkey(k)
|
|
cert.sign(k, 'sha1')
|
|
open(C_F, "wb").write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))
|
|
open(K_F, "wb").write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k)) |