def create_self_signed_cert():
"""
If ssl.cert and ssl.key don't exist in config, create a new self-signed cert and keypair and write them into that directory.
"""
if not isfile(CERT_FILE) or not isfile(KEY_FILE):
# create a key pair
k = crypto.PKey()
k.generate_key(crypto.TYPE_RSA, 4096)
# create a self-signed certificate
cert = crypto.X509()
subj = cert.get_subject()
subj.C = "DE"
subj.ST = "Hessen"
subj.L = "Darmstadt"
subj.O = "github.com/BjoernPetersen/MusicBot"
cert.gmtime_adj_notBefore(0)
cert.gmtime_adj_notAfter(5 * 365 * 24 * 60 * 60)
cert.set_issuer(subj)
cert.set_pubkey(k)
cert.sign(k, "sha256")
with open(KEY_FILE, 'wb') as key_file:
key_file.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k))
with open(CERT_FILE, 'wb') as cert_file:
cert_file.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))
评论列表
文章目录