Update helpers.py

This commit is contained in:
an3k 2016-02-13 21:08:51 +01:00
commit ffc9db17e3

View file

@ -348,24 +348,28 @@ def create_https_certificates(ssl_cert, ssl_key):
""" """
from plexpy import logger from plexpy import logger
from OpenSSL import crypto from OpenSSL import crypto
from certgen import createKeyPair, createCertRequest, createCertificate, \ import time
TYPE_RSA, serial
# Create the CA Certificate # Create self-signed Certificate
cakey = createKeyPair(TYPE_RSA, 2048) key = crypto.PKey()
careq = createCertRequest(cakey, CN="Certificate Authority") key.generate_key(crypto.TYPE_RSA, 2048)
cacert = createCertificate(careq, (careq, cakey), serial, (0, 60 * 60 * 24 * 365 * 10)) # ten years
pkey = createKeyPair(TYPE_RSA, 2048) cert = crypto.X509()
req = createCertRequest(pkey, CN="PlexPy") cert.set_version(2)
cert = createCertificate(req, (cacert, cakey), serial, (0, 60 * 60 * 24 * 365 * 10)) # ten years cert.set_serial_number(int(time.time()))
cert.get_subject().CN = "PlexPy"
cert.gmtime_adj_notBefore(0)
cert.gmtime_adj_notAfter(60 * 60 * 24 * 365 * 10)
cert.set_issuer(cert.get_subject())
cert.set_pubkey(key)
cert.add_extensions([crypto.X509Extension("subjectAltName", False, "DNS:plex.myserver.com,IP:10.11.12.13")])
cert.sign(key, "sha256")
# Save the key and certificate to disk # Save the key and certificate to disk
try: try:
with open(ssl_key, "w") as fp: with open(ssl_key, "w") as fp:
fp.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey)) fp.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key))
with open(ssl_cert, "w") as fp: with open(ssl_cert, "w") as fp:
fp.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) fp.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))
except IOError as e: except IOError as e: