diff --git a/13.Demokit/1.Deploy_demokit/0_setup.py b/13.Demokit/1.Deploy_demokit/0_setup.py
index 46bbb65fbbe210b31fa2e71965c8da5ddc076178..2eaa4e50dc6f8eaa6e5d6486449f36d400f58e36 100644
--- a/13.Demokit/1.Deploy_demokit/0_setup.py
+++ b/13.Demokit/1.Deploy_demokit/0_setup.py
@@ -14,21 +14,6 @@ CONTENT = [
 def setup(interactive=True):
     if os.path.exists('/etc/nginx/sites-enabled/mediaserver-msuser.conf'):
         cmds = list()
-        # deploy nginx SSL certificates
-        domains = []
-        conf_name_items = ["MS_SERVER_NAME", "MONITOR_SERVER_NAME", "CM_SERVER_NAME", "CACHE_SERVER_NAME"]
-        for name in conf_name_items:
-            domain = utils.get_conf(name)
-            if utils.get_conf(name):
-                domains.append(domain)
-        utils.mkcert(domains, ecc=False)
-        with open("/etc/nginx/conf.d/ssl_certificate.conf", "w") as ssl_conf_fh:
-            ssl_conf_fh.writelines([
-                "ssl_certificate /etc/ssl/envsetup/cert.pem;",
-                "ssl_certificate_key /etc/ssl/envsetup/key.pem;"
-            ])
-        cmds.append("systemctl restart nginx")
-
         options = {
             "ms_url": utils.get_conf('MS_SERVER_NAME'),
             "ms_apikey": utils.get_conf('MS_API_KEY')
diff --git a/13.Demokit/3.Generate_SSL_certificate/0_setup.py b/13.Demokit/3.Generate_SSL_certificate/0_setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..9d1be7f8b9c5c4274eb71d85fb2ea536ca612f55
--- /dev/null
+++ b/13.Demokit/3.Generate_SSL_certificate/0_setup.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import utils
+
+
+def setup(interactive=True):
+    # deploy nginx SSL certificates
+    domains = []
+    conf_name_items = ["MS_SERVER_NAME", "MONITOR_SERVER_NAME", "CM_SERVER_NAME", "CACHE_SERVER_NAME"]
+    for name in conf_name_items:
+        domain = utils.get_conf(name)
+        if utils.get_conf(name):
+            domains.append(domain)
+    utils.mkcert(domains, ecc=False)
+    with open("/etc/nginx/conf.d/ssl_certificate.conf", "w") as ssl_conf_fh:
+        ssl_conf_fh.writelines([
+            "ssl_certificate /etc/ssl/envsetup/cert.pem;",
+            "ssl_certificate_key /etc/ssl/envsetup/key.pem;"
+        ])
+    cmds = ["systemctl restart nginx"]
+    utils.run_commands(cmds)
diff --git a/launcher.sh b/launcher.sh
index b7827d81601353b35fb7f31270847acd338100b5..529bc590e041495b747a95e9e96590fa745d94c6 100755
--- a/launcher.sh
+++ b/launcher.sh
@@ -142,6 +142,8 @@ case "$1" in
         python3 -u /root/envsetup/envsetup.py 121
         # demokit scripts: deploy videos, custom conf, etc
         python3 -u /root/envsetup/envsetup.py 131
+        # deploy ssl self-signed certificates
+        python3 -u /root/envsetup/envsetup.py 133
         [[ $2 = "--skip-tests" ]] || tests
 	;;