diff --git a/jams-launcher/pom.xml b/jams-launcher/pom.xml
index d256f7c233d578c1ac7f13565189cb20d8f4c015..89656bc34ed86ca4f30a605da38754ee2acc9101 100644
--- a/jams-launcher/pom.xml
+++ b/jams-launcher/pom.xml
@@ -17,26 +17,6 @@
             <version>${revision}</version>
             <scope>compile</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore</artifactId>
-            <version>4.4.12</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.10</version>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>1.18.12</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>20.0</version>
-        </dependency>
         <dependency>
             <groupId>net.jami</groupId>
             <artifactId>jams-server</artifactId>
diff --git a/jams-launcher/src/main/java/launcher/AppStarter.java b/jams-launcher/src/main/java/launcher/AppStarter.java
index d39ee55db731db4b5046bbeaa5d26466b8e8856f..d19d7dd1f502cea4b87c64740143b68ac9fccdf6 100644
--- a/jams-launcher/src/main/java/launcher/AppStarter.java
+++ b/jams-launcher/src/main/java/launcher/AppStarter.java
@@ -24,6 +24,8 @@ package launcher;
 
 import launcher.loaders.ServerLoader;
 import launcher.loaders.UpdaterLoader;
+import lombok.Getter;
+import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.common.updater.AppUpdater;
 import net.jami.jams.common.utils.LibraryLoader;
@@ -32,11 +34,18 @@ import net.jami.jams.server.Server;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 @Slf4j
+@Getter
+@Setter
 public class AppStarter extends Thread {
 
     private final AtomicBoolean doUpdate = new AtomicBoolean(false);
     private Server server;
     private AppUpdater appUpdater;
+    private static Integer port;
+    private static String serverCertificate;
+    private static String serverPrivateKey;
+
+
     /**
      *  The launcher is essentially responsible of firing up the main application JAR.
      *  The problematic here is whenever we will fire up a JAR (but then we need to be able to
@@ -47,6 +56,20 @@ public class AppStarter extends Thread {
         //system between both systems.
         AppStarter appStarter = new AppStarter();
         appStarter.start();
+
+        switch (args.length) {
+            case 1:
+                port = (Integer.parseInt(args[0]));
+                break;
+            case 3:
+                port = (Integer.parseInt(args[0]));
+                serverCertificate = (args[1]);
+                serverPrivateKey = (args[2]);
+                break;
+            default:
+                log.error("An unknown error occurred when parsing command line arguments!");
+                break;
+        }
     }
 
     //How this works - once the JAMSUpdater has notified back upstream to do an update, we lockdown
@@ -56,7 +79,7 @@ public class AppStarter extends Thread {
         //TODO: Hack this a bit to get it to work better - passing arguments damnit.
         LibraryLoader.loadlibs(System.getProperty("user.dir"),AppStarter.class);
         appUpdater = UpdaterLoader.loadUpdater(doUpdate);
-        server = ServerLoader.loadServer(appUpdater);
+        server = ServerLoader.loadServer(appUpdater, Integer.toString(port), serverCertificate, serverPrivateKey);
         while(true) {
             try {
                 synchronized (doUpdate){
@@ -66,7 +89,7 @@ public class AppStarter extends Thread {
                     Server.tomcatLauncher.stopTomcat();
                     //This will trigger a force reload of the lib.
                     LibraryLoader.loadlibs(System.getProperty("user.dir"), AppStarter.class);
-                    server = ServerLoader.loadServer(appUpdater);
+                    server = ServerLoader.loadServer(appUpdater, Integer.toString(port), serverCertificate, serverPrivateKey);
                     this.doUpdate.set(false);
                 }
             }
diff --git a/jams-launcher/src/main/java/launcher/loaders/ServerLoader.java b/jams-launcher/src/main/java/launcher/loaders/ServerLoader.java
index 48d13fc64d1b93446b0b180cf0adfa4ba155fad9..efc610db462f62cf124010428421a75f01ec968c 100644
--- a/jams-launcher/src/main/java/launcher/loaders/ServerLoader.java
+++ b/jams-launcher/src/main/java/launcher/loaders/ServerLoader.java
@@ -30,11 +30,12 @@ import net.jami.jams.server.Server;
 @Slf4j
 public class ServerLoader {
 
-    public static Server loadServer(AppUpdater appUpdater) {
+    public static Server loadServer(AppUpdater appUpdater, String port, String serverCertificate, String serverPrivateKey) {
         try {
             Class<?> cls = LibraryLoader.classLoader.loadClass("net.jami.jams.server.Server");
             log.info("Server found, starting......");
-            return  (Server) cls.getConstructor(AppUpdater.class).newInstance(appUpdater);
+            return  (Server) cls.getConstructor(AppUpdater.class, String.class, String.class, String.class).newInstance
+                    (appUpdater, port, serverCertificate, serverPrivateKey);
         }
         catch (Exception e){
             log.error("Could not find and start the server with error {}",e.getCause().getClass());
diff --git a/jams-server/src/main/java/net/jami/jams/server/Server.java b/jams-server/src/main/java/net/jami/jams/server/Server.java
index 105baeb732ad6bb88154f0e0ed1e4d3998ebfa9c..536f915d9de8503fe9628eabff4c31edb9de5b37 100644
--- a/jams-server/src/main/java/net/jami/jams/server/Server.java
+++ b/jams-server/src/main/java/net/jami/jams/server/Server.java
@@ -67,9 +67,13 @@ public class Server {
     public static LicenseService licenseService = new LicenseService();
     public static AppUpdater appUpdater;
 
-    public Server(AppUpdater appUpdater) {
+    public Server(AppUpdater appUpdater, String port, String serverCertificate, String serverPrivateKey) {
         Server.appUpdater = appUpdater;
-        main(new String[]{});
+
+        String[] args = {port, serverCertificate, serverPrivateKey};
+
+        if ((args.length > 0)) main(args);
+        else main(new String[]{});
     }
 
 
@@ -84,6 +88,7 @@ public class Server {
                 break;
             case 3:
                 tomcatLauncher = new TomcatLauncher(Integer.parseInt(args[0]), args[1], args[2]);
+                break;
             default:
                 log.error("Incorrect number of start arguments provided!");
                 System.exit(-1);
diff --git a/jams-server/src/main/java/net/jami/jams/server/core/TomcatConnectorFactory.java b/jams-server/src/main/java/net/jami/jams/server/core/TomcatConnectorFactory.java
index 107408c3eb84ef807c8a5f01de191a288f58adad..cb661365fe81fc312491486c671d83cf0c543586 100644
--- a/jams-server/src/main/java/net/jami/jams/server/core/TomcatConnectorFactory.java
+++ b/jams-server/src/main/java/net/jami/jams/server/core/TomcatConnectorFactory.java
@@ -26,22 +26,16 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.catalina.connector.Connector;
 
 import java.io.File;
-import java.nio.file.Files;
-import java.nio.file.Paths;
 
 @Slf4j
 public class TomcatConnectorFactory {
 
     public static Connector getSSLConnectorWithTrustStore(String certificateFile, String keyFile, int port) {
+        log.info(System.getProperty("user.dir") + File.separator + "keystore.jks");
         Connector connector = getSSLConnectorWithoutTrustStore(certificateFile, keyFile, port);
-        if (Files.exists(Paths.get(System.getProperty("user.dir") + File.separator + "keystore.jks"))) {
-            connector.setAttribute("truststoreFile", System.getProperty("user.dir") + File.separator + "keystore.jks");
-            connector.setAttribute("clientAuth", "optional");
-            connector.setAttribute("truststorePassword", "changeit");
-        } else {
-            log.error("Could not find a keystore for the SSL Connector - this is critical as client auth will not be available!");
-            log.error("Proceeding to boot tomcat with just SSL parameters...");
-        }
+        connector.setAttribute("truststoreFile", System.getProperty("user.dir") + File.separator + "keystore.jks");
+        connector.setAttribute("clientAuth", "optional");
+        connector.setAttribute("truststorePassword", "changeit");
         return connector;
     }
 
@@ -51,13 +45,13 @@ public class TomcatConnectorFactory {
         connector.setPort(port);
         connector.setSecure(true);
         connector.setScheme("https");
-        connector.setAttribute("protocol", "org.apache.coyote.http11.Http11NioProtocol");
+        connector.setAttribute("protocol", "org.apache.coyote.http11.Http11AprProtocol");
         connector.setAttribute("SSLCertificateFile", System.getProperty("user.dir") + File.separator + certificateFile);
         connector.setAttribute("SSLCertificateKeyFile", System.getProperty("user.dir") + File.separator + keyFile);
         connector.setAttribute("protocol", "HTTP/1.1");
-        connector.setAttribute("sslProtocol", "TLSv1.3");
+        connector.setAttribute("sslProtocol", "TLS");
         connector.setAttribute("maxThreads", "200");
-        connector.setAttribute("SSLEnabled", "true");
+        connector.setAttribute("SSLEnabled", true);
         return connector;
     }
 
diff --git a/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java b/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java
index 82e7a693b8558962221f07fa57a6473862310712..814a9658155dba0b3b700873d995c33e761e7fda 100644
--- a/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java
+++ b/jams-server/src/main/java/net/jami/jams/server/core/TomcatLauncher.java
@@ -23,16 +23,23 @@
 package net.jami.jams.server.core;
 
 import lombok.extern.slf4j.Slf4j;
+import net.jami.jams.server.Server;
 import org.apache.catalina.WebResourceRoot;
+import org.apache.catalina.connector.Connector;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.webresources.DirResourceSet;
 import org.apache.catalina.webresources.JarResourceSet;
 import org.apache.catalina.webresources.StandardRoot;
+import org.apache.tomcat.util.descriptor.web.ErrorPage;
 
 import java.awt.*;
 import java.io.File;
 import java.net.URI;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 
 
 //This class boots the tomcat server which provides the subsystem
@@ -40,28 +47,35 @@ import java.net.URI;
 @Slf4j
 public class TomcatLauncher {
 
-    private Tomcat tomcat = null;
+    private Tomcat tomcat = new Tomcat();
+    private static Connector connector;
+    private static StandardContext context;
 
     public TomcatLauncher(int port) {
-        tomcat = new Tomcat();
         tomcat.getService().addConnector(TomcatConnectorFactory.getNoSSLConnector(port));
         this.startServer();
     }
 
     public TomcatLauncher(int port, String certificateFile, String keyFile) {
-        //If running in SSL mode, we need a trusts store in order to let clients authenticate.
-        //In this case this is a bit of a dirty hack...
-        log.error("This functionality is not yet implemented!");
+        if(Files.exists(Paths.get(System.getProperty("user.dir") + File.separator + "keystore.jks"))){
+            log.info("Found a valid trust store, injecting into tomcat!");
+            tomcat.getService().addConnector(TomcatConnectorFactory.getSSLConnectorWithTrustStore(certificateFile, keyFile, port));
+        }
+        else{
+            connector = TomcatConnectorFactory.getSSLConnectorWithoutTrustStore(certificateFile, keyFile, port);
+            tomcat.getService().addConnector(connector);
+        }
+        this.startServer();
     }
 
 
     public void startServer() {
         String jarName = System.getProperty("user.dir") + File.separator + "jams-server.jar";
         log.info("JAR Resource File = " + jarName);
-        StandardContext context = (StandardContext) tomcat.addWebapp("", new File(System.getProperty("user.dir")).getAbsolutePath());
-        //Hack to prevent useless verbose messages.
-
+        context = (StandardContext) tomcat.addWebapp("", new File(System.getProperty("user.dir")).getAbsolutePath());
         context.getJarScanner().setJarScanFilter((jarScanType, s) -> false);
+        log.info("Serving application from: " + new File(System.getProperty("user.dir")).getAbsolutePath());
+
         WebResourceRoot resources = new StandardRoot(context);
         if (jarName.contains(".jar")) {
             resources.addPreResources(new JarResourceSet(resources, "/WEB-INF/classes", jarName, "/net/jami/jams/server/servlets"));
@@ -80,17 +94,21 @@ public class TomcatLauncher {
         }
         context.setResources(resources);
         //We always go to login by default.
-        context.addWelcomeFile("web/login");
-        try {
+        context.addWelcomeFile("index");
+        ErrorPage errorPage = new ErrorPage();
+        errorPage.setErrorCode(404);
+        errorPage.setLocation("/index");
+        context.addErrorPage(errorPage);
+        try{
             tomcat.start();
             //Try to pop-up Web-UI
-            if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
+            if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE))
                 Desktop.getDesktop().browse(new URI("https://localhost:8080"));
-            }
-            else log.info("There is no graphical interface on this system - please connect remotely!");
-        } catch
-        (Exception e) {
-            log.error("Web-server has failed to start - this is critical, error {}",e.getMessage());
+            else
+                log.info("There is no graphical interface on this system - please connect remotely!");
+
+        } catch (Exception e) {
+            log.error("Could not start web-server!");
         }
     }
 
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DeviceServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DeviceServlet.java
index ef068abbecc5a2f36db70cb26fa3c114c7d48a39..839c8f48011ab43f056b94fa62708ffe9452c8e7 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DeviceServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DeviceServlet.java
@@ -23,16 +23,16 @@
 package net.jami.jams.server.servlets.api.admin.devices;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 import net.jami.jams.common.objects.responses.DeviceRevocationResponse;
 import net.jami.jams.server.core.workflows.RevokeDeviceFlow;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DevicesServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DevicesServlet.java
index 05dca7927ea98d71bcff42f3a147a89e07b5043d..33302d22b1434fe7bca05cf7803b62b91aeb9fad 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DevicesServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/devices/DevicesServlet.java
@@ -23,14 +23,14 @@
 package net.jami.jams.server.servlets.api.admin.devices;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
index 357293515cd91dc470e1df959a12b243708e5557..450396d97b5d69bf53602232f21645918017195e 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
@@ -23,16 +23,16 @@
 package net.jami.jams.server.servlets.api.admin.directory;
 
 import com.jsoniter.JsonIterator;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.authmodule.AuthModuleKey;
 import net.jami.jams.common.objects.user.UserProfile;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
index f2b48ab0c4394be7ef09dfa449596b3adbf244ab..4607ccf3ba477c6e5c57711bde8b64bde18c7edc 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
@@ -23,15 +23,15 @@
 package net.jami.jams.server.servlets.api.admin.update;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.ca.JamsCA;
 import net.jami.jams.common.objects.responses.SubscriptionStatusResponse;
 import net.jami.jams.server.Server;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @WebServlet("/api/subscription")
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/UpdateServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/UpdateServlet.java
index 08785810da8620c18b10afc7416f1a65a2c5ee92..c35b93aa4948fb2c5892fd69ac76ba43460e412f 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/UpdateServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/UpdateServlet.java
@@ -23,13 +23,13 @@
 package net.jami.jams.server.servlets.api.admin.update;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.updater.FullSystemStatusResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.appUpdater;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
index 2128e21e56ea1d835a472d7eb9cfe072c0951c05..153dde6c93265dbd8afc1c590919afdfb8d6f122 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
@@ -23,11 +23,6 @@
 package net.jami.jams.server.servlets.api.admin.users;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
@@ -35,6 +30,11 @@ import net.jami.jams.common.objects.responses.DeviceRevocationResponse;
 import net.jami.jams.common.objects.user.User;
 import net.jami.jams.server.core.workflows.RevokeUserFlow;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UsersServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UsersServlet.java
index d0ba9762ae8ed335b0db6c1abdd6f293c44d5a29..9e0f381543c3b72acec07c46c6c703f3368cd2c2 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UsersServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UsersServlet.java
@@ -23,12 +23,12 @@
 package net.jami.jams.server.servlets.api.admin.users;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/contacts/ContactServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/contacts/ContactServlet.java
index 1faa92d3bf42fb65c38372258ce2bc34a48ad49a..9b0626fde9b5bb026e0ac1caa672ac7128dfb703 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/contacts/ContactServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/contacts/ContactServlet.java
@@ -22,12 +22,11 @@
 */
 package net.jami.jams.server.servlets.api.auth.contacts;
 
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @WebServlet("/api/auth/contacts")
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
index 18a3c81344769f92f7ab0090723aca91e15c3544..55edeb816404674bdfd239b27cd0c072f38c8f71 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DeviceServlet.java
@@ -24,11 +24,6 @@ package net.jami.jams.server.servlets.api.auth.device;
 
 import com.jsoniter.JsonIterator;
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 import net.jami.jams.common.objects.requests.DeviceRegistrationRequest;
@@ -37,6 +32,11 @@ import net.jami.jams.common.objects.responses.DeviceRevocationResponse;
 import net.jami.jams.server.core.workflows.RegisterDeviceFlow;
 import net.jami.jams.server.core.workflows.RevokeDeviceFlow;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DevicesServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DevicesServlet.java
index 8cc741e4e63e60853ad4570de5e6ca8265af8aff..f2f4798a945a5f5ce7e02db00746a4fda56a5988 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DevicesServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/device/DevicesServlet.java
@@ -23,14 +23,14 @@
 package net.jami.jams.server.servlets.api.auth.device;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoriesServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoriesServlet.java
index 7023837cb184c73c281e29ab849c9763b17f362e..d73b9b750e64f690fccf7883f13570cda07a03f4 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoriesServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoriesServlet.java
@@ -23,12 +23,12 @@
 package net.jami.jams.server.servlets.api.auth.directory;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoryEntryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoryEntryServlet.java
index 6511eceb5b0501b48db6ace3dddf58ffad471329..dcdc4c1e5f9de98750972d0530e550b8b5574c2f 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoryEntryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/DirectoryEntryServlet.java
@@ -23,15 +23,15 @@
 package net.jami.jams.server.servlets.api.auth.directory;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.authmodule.AuthModuleKey;
 import net.jami.jams.common.objects.user.UserProfile;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
index 69e318c33e4f376173589eeb3759b6f975420969..7dd3890f2f79614ce35be6d9cd431b03d9617baa 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
@@ -23,13 +23,13 @@
 package net.jami.jams.server.servlets.api.auth.directory;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.objects.user.UserProfile;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java
index 66d01c9fcee8f03247fcc6240090489eb7a3224d..28dd97ae65b70ca9bae20517e26c748066f5da79 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java
@@ -23,13 +23,13 @@
 package net.jami.jams.server.servlets.api.auth.login;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authmodule.AuthTokenResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.security.cert.X509Certificate;
 
@@ -53,8 +53,8 @@ public class LoginServlet extends HttpServlet {
             res = processUsernamePasswordAuth(req.getHeader("authorization"));
         }
         //Case 3 SSL Certificate
-        if(req.getAttribute("jakarta.servlet.request.X509Certificate") != null){
-            res = processX509Auth((X509Certificate[])req.getAttribute("jakarta.servlet.request.X509Certificate"));
+        if(req.getAttribute("javax.servlet.request.X509Certificate") != null){
+            res = processX509Auth((X509Certificate[])req.getAttribute("javax.servlet.request.X509Certificate"));
         }
         //Here we catch the need to create a user (this is only possible in 1 & 2).
         if(res == null) resp.sendError(403,"Invalid credentials!");
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java
index 48074551b14ed4e7b60fc8d7c35b9f2b80368048..be06a27ea4a4719e57e38a633a13caad14ea7fea 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java
@@ -23,15 +23,15 @@
 package net.jami.jams.server.servlets.api.auth.user;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateAuthSourceServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateAuthSourceServlet.java
index 0de31e2f485451488858f4d3cde1b1c07c72d4cb..1da2fa11c1d990a201b5719c25376224659017e3 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateAuthSourceServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateAuthSourceServlet.java
@@ -24,14 +24,14 @@ package net.jami.jams.server.servlets.api.install;
 
 import com.jsoniter.JsonIterator;
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.objects.requests.CreateAuthSourceRequest;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateCAServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateCAServlet.java
index b8c5486478a9db89f242c145cbf9c76599dc27dd..ebf1007b4565ef15c86d293b09731345b24165fd 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateCAServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateCAServlet.java
@@ -23,14 +23,14 @@
 package net.jami.jams.server.servlets.api.install;
 
 import com.jsoniter.JsonIterator;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.objects.requests.CreateCARequest;
 import net.jami.jams.common.utils.Validator;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @WebServlet("/api/install/ca")
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateServerSettingsServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateServerSettingsServlet.java
index 9c55af402669b67553d9173b67768828113ebf13..14a36c99cb309a4ba8ffe6f4988cc3c1d1d6a733 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateServerSettingsServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/CreateServerSettingsServlet.java
@@ -23,14 +23,14 @@
 package net.jami.jams.server.servlets.api.install;
 
 import com.jsoniter.JsonIterator;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.cryptoengineapi.CertificateAuthorityConfig;
 import net.jami.jams.server.core.workflows.InstallationFinalizer;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @WebServlet("/api/install/settings")
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/StartInstallServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/StartInstallServlet.java
index 50f6f9e6e6b0987d2046450290ded0e9fabaf404..0e34525f828e2ec87519623c55ee1823730a6ab7 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/StartInstallServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/install/StartInstallServlet.java
@@ -24,11 +24,6 @@ package net.jami.jams.server.servlets.api.install;
 
 import com.jsoniter.JsonIterator;
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.authmodule.AuthTokenResponse;
 import net.jami.jams.common.dao.StatementList;
@@ -36,6 +31,11 @@ import net.jami.jams.common.objects.requests.CredentialsRequest;
 import net.jami.jams.common.objects.user.AccessLevel;
 import net.jami.jams.common.objects.user.User;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.dataStore;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
index ea43281c574c19cf8e20673e7ea0f20d1264716a..6ee648fa1b085158e08b577592fe89db9dc28b56 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java
@@ -22,15 +22,14 @@
 */
 package net.jami.jams.server.servlets.api.jaminameserver;
 
-
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.jami.AddrLookupResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.nameServer;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
index c46edef94787fd384b63447d1e8800d203acb8e6..5d2bce18ef9558ac668910799f0776045fac0e9e 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java
@@ -23,13 +23,13 @@
 package net.jami.jams.server.servlets.api.jaminameserver;
 
 import com.jsoniter.output.JsonStream;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import net.jami.jams.common.jami.NameLookupResponse;
 
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.nameServer;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/AdminApiFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/AdminApiFilter.java
index 4b137c2da175f5c3ec00d0e958a90757d1bdc1a6..0cf7d3fcf3322820d97b2183eb57e537ad939fdd 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/AdminApiFilter.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/AdminApiFilter.java
@@ -25,18 +25,18 @@ package net.jami.jams.server.servlets.filters;
 import com.nimbusds.jose.JWSVerifier;
 import com.nimbusds.jose.crypto.RSASSAVerifier;
 import com.nimbusds.jwt.SignedJWT;
-import jakarta.servlet.Filter;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletRequest;
-import jakarta.servlet.ServletResponse;
-import jakarta.servlet.annotation.WebFilter;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.annotation.WebFilter;
 import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.common.objects.user.AccessLevel;
 import net.jami.jams.server.Server;
 
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
index 191481644a9069d641052caa8e1ed231fd87d368..a125c4e4e5aab338a623bb974f8a3607350f5f06 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java
@@ -25,17 +25,17 @@ package net.jami.jams.server.servlets.filters;
 import com.nimbusds.jose.JWSVerifier;
 import com.nimbusds.jose.crypto.RSASSAVerifier;
 import com.nimbusds.jwt.SignedJWT;
-import jakarta.servlet.Filter;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletRequest;
-import jakarta.servlet.ServletResponse;
-import jakarta.servlet.annotation.WebFilter;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.annotation.WebFilter;
 import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.server.Server;
 
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.userAuthenticationModule;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
index 97b0ff4cc22c9405549a8f4b8213049260bcc1b1..af6c2d9a52b189c490a5cd7f215dbc49252fea3c 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java
@@ -25,17 +25,17 @@ package net.jami.jams.server.servlets.filters;
 import com.nimbusds.jose.JWSVerifier;
 import com.nimbusds.jose.crypto.RSASSAVerifier;
 import com.nimbusds.jwt.SignedJWT;
-import jakarta.servlet.Filter;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletRequest;
-import jakarta.servlet.ServletResponse;
-import jakarta.servlet.annotation.WebFilter;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.annotation.WebFilter;
 import lombok.extern.slf4j.Slf4j;
 import net.jami.jams.server.Server;
 
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.Date;
 
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
index 0fb0d90a36f46412a2861ca3d046f5a126172e4e..70ba99577d04b5bbe991d6043c8d649468fc487a 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java
@@ -22,13 +22,11 @@
 */
 package net.jami.jams.server.servlets.general;
 
-
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 @WebServlet("/api/info")
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/x509/CRLServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/x509/CRLServlet.java
index 77c8d2f0a29404bc7dca0ce93904c9d54e990e1b..f97915d2cf5379d9571d6e8007155770e5dbc49e 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/x509/CRLServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/x509/CRLServlet.java
@@ -22,12 +22,11 @@
 */
 package net.jami.jams.server.servlets.x509;
 
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.certificateAuthority;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/x509/OCSPServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/x509/OCSPServlet.java
index eeb0b3f18ae76f88cf952c71ff0142a7040e5ddb..1034ce668e69c5b5f1ef7f97f9a08f6b0f8f3427 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/x509/OCSPServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/x509/OCSPServlet.java
@@ -22,12 +22,11 @@
 */
 package net.jami.jams.server.servlets.x509;
 
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 import static net.jami.jams.server.Server.certificateAuthority;
diff --git a/pom.xml b/pom.xml
index d333ee68bd8d8c0239460ae249c0b277ae1fa874..bfce65ea3968cfd9cd76275c90dbee30ac8a3d8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,7 @@
         <lombok.version>1.18.12</lombok.version>
         <log4j.version>1.7.30</log4j.version>
         <jupiter.api.version>5.7.0-M1</jupiter.api.version>
-        <tomcat.version>10.0.0-M4</tomcat.version>
+        <tomcat.version>9.0.35</tomcat.version>
         <map.struct.version>1.3.0.Final</map.struct.version>
         <maven.surefire.version>2.19.1</maven.surefire.version>
         <junit.surefire.version>1.1.0</junit.surefire.version>
diff --git a/server.key b/server.key
new file mode 100644
index 0000000000000000000000000000000000000000..6cd1eba71265f1a899bc9329a73c501e10e6733a
--- /dev/null
+++ b/server.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3YPxyascSByOp
+oLVs64yyFW3WY95bd6JgVWltDwGD/Q0ByzVCk4cxLZuNcxJoAuzUOB125X/LHh1F
+H44h9NRCR+2J7Lm4nRmeYfLsmKDz5pD+oT83YtwO38G+BVC2vA6Cehr1BVGMLtDc
+qctuoorKhkXFjL8ShblC/hHdn2yIGAtVrWazqSFsuxGBiXTcswq6H2j2BwYm3aLV
+p0kgAnRocg3GIqCKf6muTjqffG2dG8XHgcG1zI1bXKLMGXlqcE+bQ55rLNLYtZRV
+fdkJA9IsKPy3ZTh5xJvtWGVdrFMSpZDMvzFiM6Lzs+O3ui7V58zMppGCTZ9pltZZ
+67QI+KOtAgMBAAECggEASU9knPlDDFn+T9oHrbudS7R1bLgQNNDnAUwkEY1mNbX8
+dTMf37XK3kY1YZ8XRK2msFCetuGY7ULkwLWUxM5z7OuEcxdISB3GGCNgUmXSMq+C
+V8lu1F2ZS/j4I1dMpUEZK+BU1o+BwmEU7qKSyXABvGVhj1BtMqJzJe0ch1Ustlr4
+25353CAeVjRfNKyUY3yd34XBBWgi+bb1ULCJ1668iYfUq8PZDi9AW8Bb32wQ3B72
+vcYIVm2WmlCRJelCApEG2w1yDlsrG3dpYQzyoianiNv2lt1VhemD5ORKey5LitWV
+encgTrlA4C+6gQfQ5y1hXx8YEQUgIX74leHsDeisAQKBgQDmcH0woTrIQ4fGb//N
+5DMYRYRYlFNqTtSdzMN7kw3Rm4gaaoWusqZd3Kdl4ZshKhV7zDHG7uXdvmyDdVFZ
+vtTH2LRd6BkO6v+2dQ7voPQ3zVKPk6+H0yh4AkLpN8VHLunFDppvA5vn+59Juf1S
+m/qOVvpaHmNpzy9F9RummebXzQKBgQDLuCzL5j8wX6gt+tT+6LM2Q8shyD8iglgi
+le0Ag5HeXJ89WQdIvv0IfK0Wj670qjZ9mrp2eSTvyjSQTnjwu3IqYzsX59zgjSX9
+h7qe19QZyfi/WDNDVx9d2zbKZjomxLCdY4CAVq63M/OCnI1kt6M2rVLg23YKY8Yg
+fPEtP/dbYQKBgFLxaE4pqkPM8sD9LSDJo4537yQG92NLToIh4rbG/nFUvw9rCgUQ
+botYUbR9GN4+DI+Lttr4wCopUVubzZU099ea64jlcqeI9FOTHLYpw92V/MKLEOId
+ofJYNgdFuK9fdmskT3fn36UHT5U06bZjSDMVoXTwfS3nkgdnKvWzbYB9AoGAMQht
+T85lWyFK+3YqGgisSd1bYRAvkgDJcdmgJ8WDMIAem8d351yAzrAjgRCoTZ9Cakz5
+oFZcO5Lxv+IDXf3f5q/no0NdeHbAtBsdIepU1Lg2NOfnvseTdyWyNFkSmg4xbFBs
+t3clqlbIv6Eqrxk8IYbqMdDgwnNtVph7/CYvRUECgYEAtcL7Sontba0kg0p/v3Ce
+PajsbSSPcT0sUfMbxFo20OY/knq74uarUrlvWKkR4nbNG8jHzBCe3qg9eZXN51da
+GDRed44Um6PAy7itQh/Ak0qv1FsKhBvXQ6DMhoFeMQvbj9H/3w5JOCceAITHTw/O
+FeuOOnairNrVyJ0Dx2hGn+U=
+-----END PRIVATE KEY-----
diff --git a/server.pem b/server.pem
new file mode 100644
index 0000000000000000000000000000000000000000..90ad7c962367e23aa85aac73fdd2bb5b960e7a50
--- /dev/null
+++ b/server.pem
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDlzCCAn+gAwIBAgIUS+MahayfvPw6t8UPeN8mmbo9rpswDQYJKoZIhvcNAQEL
+BQAwWzELMAkGA1UEBhMCQ0ExCjAIBgNVBAgMATExCjAIBgNVBAcMATExCjAIBgNV
+BAoMATExCjAIBgNVBAsMATExCjAIBgNVBAMMATExEDAOBgkqhkiG9w0BCQEWATEw
+HhcNMTkxMDI1MDAzNDA0WhcNMjAxMDI0MDAzNDA0WjBbMQswCQYDVQQGEwJDQTEK
+MAgGA1UECAwBMTEKMAgGA1UEBwwBMTEKMAgGA1UECgwBMTEKMAgGA1UECwwBMTEK
+MAgGA1UEAwwBMTEQMA4GCSqGSIb3DQEJARYBMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBALdg/HJqxxIHI6mgtWzrjLIVbdZj3lt3omBVaW0PAYP9DQHL
+NUKThzEtm41zEmgC7NQ4HXblf8seHUUfjiH01EJH7YnsubidGZ5h8uyYoPPmkP6h
+Pzdi3A7fwb4FULa8DoJ6GvUFUYwu0Nypy26iisqGRcWMvxKFuUL+Ed2fbIgYC1Wt
+ZrOpIWy7EYGJdNyzCrofaPYHBibdotWnSSACdGhyDcYioIp/qa5OOp98bZ0bxceB
+wbXMjVtcoswZeWpwT5tDnmss0ti1lFV92QkD0iwo/LdlOHnEm+1YZV2sUxKlkMy/
+MWIzovOz47e6LtXnzMymkYJNn2mW1lnrtAj4o60CAwEAAaNTMFEwHQYDVR0OBBYE
+FHYVoTymVeBDFSU+OkpojP8aiScLMB8GA1UdIwQYMBaAFHYVoTymVeBDFSU+Okpo
+jP8aiScLMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAEvuNCKx
+VqZlQbpwESZIP7Q4KtZ2v0B9yF4LvE/UOdcklcHymkdxhqFKnxEt0UkRH/E9VQdU
+1cVbxf+fvX+h7HaOKJIldwCIxb+FnEWU78Z3OvFAVZsfsZ8A0ouyixnP7UdZ/3Dn
+UJAdrbRHk/yWWb6GcNopusi1rZ6GYGJfjhUH+TLcm9Plfcs9E3zS1ETlmt5yT1PN
+QUPfHTEyjYkWEVhBeKBcfDVmsKIcrMlBoNhxApC/AwIZQYBY0PeGkZKHMYyXt6JL
+qB/z0VJye2Co02sdJjSVbkUkyEmHP4mnD1lb1Oe+qeYmNutsK5llmzCUi+YBhzP7
+yxyhJjHf157BmCs=
+-----END CERTIFICATE-----
diff --git a/webapp/index.php b/webapp/index.php
new file mode 100644
index 0000000000000000000000000000000000000000..c37615a1e2b655936681e31d1c0aad0bda6164a6
--- /dev/null
+++ b/webapp/index.php
@@ -0,0 +1,4 @@
+<?php
+
+phpinfo();
+?>