diff --git a/PlexPy.py b/PlexPy.py index 3aa66109..91a0c1b4 100755 --- a/PlexPy.py +++ b/PlexPy.py @@ -220,6 +220,7 @@ def main(): 'http_proxy': plexpy.CONFIG.HTTP_PROXY, 'enable_https': plexpy.CONFIG.ENABLE_HTTPS, 'https_cert': plexpy.CONFIG.HTTPS_CERT, + 'https_cert_chain': plexpy.CONFIG.HTTPS_CERT_CHAIN, 'https_key': plexpy.CONFIG.HTTPS_KEY, 'http_username': plexpy.CONFIG.HTTP_USERNAME, 'http_password': plexpy.CONFIG.HTTP_PASSWORD, diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 210121d4..82ab8146 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -454,7 +454,7 @@
- +
@@ -462,6 +462,15 @@

The location of the SSL certificate.

+
+ +
+
+ +
+
+

The location of the SSL certificate chain.

+
diff --git a/plexpy/config.py b/plexpy/config.py index 281163dc..ff89f7bb 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -204,6 +204,7 @@ _CONFIG_DEFINITIONS = { 'popular_music', 'last_watched', 'top_users', 'top_platforms', 'most_concurrent']), 'HTTPS_CREATE_CERT': (int, 'General', 1), 'HTTPS_CERT': (str, 'General', ''), + 'HTTPS_CERT_CHAIN': (str, 'General', ''), 'HTTPS_KEY': (str, 'General', ''), 'HTTPS_DOMAIN': (str, 'General', 'localhost'), 'HTTPS_IP': (str, 'General', '127.0.0.1'), diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 26edb82d..b4c9737d 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -2525,6 +2525,7 @@ class WebInterface(object): "enable_https": checked(plexpy.CONFIG.ENABLE_HTTPS), "https_create_cert": checked(plexpy.CONFIG.HTTPS_CREATE_CERT), "https_cert": plexpy.CONFIG.HTTPS_CERT, + "https_cert_chain": plexpy.CONFIG.HTTPS_CERT_CHAIN, "https_key": plexpy.CONFIG.HTTPS_KEY, "https_domain": plexpy.CONFIG.HTTPS_DOMAIN, "https_ip": plexpy.CONFIG.HTTPS_IP, diff --git a/plexpy/webstart.py b/plexpy/webstart.py index 7cec7056..0695b05e 100644 --- a/plexpy/webstart.py +++ b/plexpy/webstart.py @@ -29,6 +29,7 @@ def initialize(options): # HTTPS stuff stolen from sickbeard enable_https = options['enable_https'] https_cert = options['https_cert'] + https_cert_chain = options['https_cert_chain'] https_key = options['https_key'] if enable_https: @@ -59,6 +60,7 @@ def initialize(options): if enable_https: options_dict['server.ssl_certificate'] = https_cert + options_dict['server.ssl_certificate_chain'] = https_cert_chain options_dict['server.ssl_private_key'] = https_key protocol = "https" else: