diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py
index c7f6020d40a308816928cddb1f4452dfb8063b55..ed59353e06d54a75b9b6033048fd8341a93292ad 100644
--- a/sickbeard/helpers.py
+++ b/sickbeard/helpers.py
@@ -860,12 +860,12 @@ def create_https_certificates(ssl_cert, ssl_key):
     # Create the CA Certificate
     cakey = createKeyPair(TYPE_RSA, 4096)
     careq = createCertRequest(cakey, CN='Certificate Authority')
-    cacert = createCertificate(careq, (careq, cakey), serial, validity_period, 'sha256')
+    cacert = createCertificate(careq, (careq, cakey), serial, validity_period, b'sha256')
 
     cname = 'SickRage'
     pkey = createKeyPair(TYPE_RSA, 4096)
     req = createCertRequest(pkey, CN=cname)
-    cert = createCertificate(req, (cacert, cakey), serial, validity_period, 'sha256')
+    cert = createCertificate(req, (cacert, cakey), serial, validity_period, b'sha256')
 
     # Save the key and certificate to disk
     try:
diff --git a/tests/helpers_tests.py b/tests/helpers_tests.py
index c655e04789ab441386a7721838ca059c4358a4d2..4adba62c9b2041da7a5e39423ca614b86535ba5e 100644
--- a/tests/helpers_tests.py
+++ b/tests/helpers_tests.py
@@ -504,12 +504,59 @@ class HelpersEncryptionTests(unittest.TestCase):
     """
     Test encryption and decryption
     """
-    @unittest.skip('Not yet implemented')
     def test_create_https_certificates(self):
         """
-        Test create_https_certificates
-        """
-        pass
+        Test that create_https_certificates successfully generates certificate and private key
+        """
+        try:
+            import OpenSSL
+        except ImportError:
+            self.skipTest('pyOpenSSL is not installed')
+            return False
+
+        base_path = os.path.dirname(__file__)
+        cert_path = os.path.abspath(os.path.join(base_path, 'test.crt'))
+        pkey_path = os.path.abspath(os.path.join(base_path, 'test.key'))
+
+        def removeTestFiles():
+            try:
+                os.remove(cert_path)
+                os.remove(pkey_path)
+            except OSError:
+                pass
+
+        removeTestFiles()  # always remove existing
+        self.assertTrue(helpers.create_https_certificates(cert_path, pkey_path))
+        self.assertTrue(os.path.isfile(cert_path))
+        self.assertTrue(os.path.isfile(pkey_path))
+
+        FILETYPE_PEM = OpenSSL.crypto.FILETYPE_PEM
+        try:
+            with open(cert_path, 'rt') as f:
+                cert = OpenSSL.crypto.load_certificate(FILETYPE_PEM, f.read())
+        except Exception as error:
+            removeTestFiles()
+            self.fail('Unable to load certificate')
+
+        try:
+            with open(pkey_path, 'rt') as f:
+                pkey = OpenSSL.crypto.load_privatekey(FILETYPE_PEM, f.read())
+        except Exception as error:
+            removeTestFiles()
+            self.fail('Unable to load private key')
+
+        context = OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD)
+        context.use_privatekey(pkey)
+        context.use_certificate(cert)
+        failed = False
+        try:
+            context.check_privatekey()
+        except OpenSSL.SSL.Error:
+            failed = True
+        finally:
+            removeTestFiles()
+
+        self.assertFalse(failed, 'private key does not match certificate')
 
     @unittest.skip('Not yet implemented')
     def test_encrypt(self):
diff --git a/tox.ini b/tox.ini
index e059252fd2703ca8174eea7942979b7dd089bb70..8b9aed3aeed58dc92252e93a2ad3e4b4ce050ad8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,6 +14,7 @@ deps =
     mock
     vcrpy-unittest
     pytz
+    pyopenssl
 commands =
     /bin/rm -f {toxinidir}/tests/sickbeard.db
     /bin/rm -f {toxinidir}/tests/cache.db
@@ -33,6 +34,7 @@ deps =
     mock
     vcrpy-unittest
     pytz
+    pyopenssl
 commands =
     cmd /c del /f /q {toxinidir}\tests\sickbeard.db {toxinidir}\tests\cache.db {toxinidir}\tests\failed.db 2> nul
     nosetests -c nose.cfg --nocapture