diff --git a/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java b/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java
index cd207c3214b3de773dfcc380d1cd5afe92345143..5c78b814b04533eeee890e7c37ab1dd720d1dc5d 100644
--- a/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java
+++ b/jams-ca/src/main/java/net/jami/jams/ca/JamsCA.java
@@ -18,6 +18,7 @@ import org.bouncycastle.cert.ocsp.OCSPResp;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
 import java.security.Security;
+import java.util.Base64;
 import java.util.concurrent.atomic.AtomicReference;
 
 @Slf4j
@@ -86,6 +87,17 @@ public class JamsCA implements CertificateAuthority {
         return crlWorker.getExistingCRL();
     }
 
+    @Override
+    public String getLatestCRLPEMEncoded() {
+        try {
+            return Base64.getEncoder().encodeToString(getLatestCRL().get().getEncoded());
+        }
+        catch (Exception e){
+            log.error("Could not return a valid CRL!");
+            return null;
+        }
+    }
+
     @Override
     public OCSPResp getOCSPResponse(OCSPReq ocspRequest) {
         return null;
diff --git a/jams-common/src/main/java/net/jami/jams/common/cryptoengineapi/CertificateAuthority.java b/jams-common/src/main/java/net/jami/jams/common/cryptoengineapi/CertificateAuthority.java
index 3deaa15e399d6f94863b21bbf0354fa11c72ec67..a6a6e0441222a3487578ac1bfc48a91e0008dc4a 100644
--- a/jams-common/src/main/java/net/jami/jams/common/cryptoengineapi/CertificateAuthority.java
+++ b/jams-common/src/main/java/net/jami/jams/common/cryptoengineapi/CertificateAuthority.java
@@ -18,5 +18,7 @@ public interface CertificateAuthority {
     SystemAccount getSignedCertificate(SystemAccount systemAccount);
     void revokeCertificate(RevocationRequest revocationRequest);
     AtomicReference<X509CRLHolder> getLatestCRL();
+    String getLatestCRLPEMEncoded();
     OCSPResp getOCSPResponse(OCSPReq ocspRequest);
+
 }
diff --git a/jams-server/src/main/java/module-info.java b/jams-server/src/main/java/module-info.java
index 27fec84671cea9ebd16130d4d9ffe3eacedc54ca..49235bdd9469f7d6c68192b13977c9e5a01a2469 100644
--- a/jams-server/src/main/java/module-info.java
+++ b/jams-server/src/main/java/module-info.java
@@ -17,4 +17,5 @@ module jams.server {
     exports net.jami.jams.server.servlets.api.auth.device to org.apache.tomcat.embed.core;
     exports net.jami.jams.server.servlets.api.install to org.apache.tomcat.embed.core;
     exports net.jami.jams.server.servlets.api.jaminameserver to org.apache.tomcat.embed.core;
+    exports net.jami.jams.server.servlets.x509 to org.apache.tomcat.embed.core;
 }
\ No newline at end of file
diff --git a/jams-server/src/main/java/net/jami/jams/server/core/utils/ResponseBuilder.java b/jams-server/src/main/java/net/jami/jams/server/core/utils/ResponseBuilder.java
deleted file mode 100644
index 498e32cd17692cc31dd24746d578eb5e57479df9..0000000000000000000000000000000000000000
--- a/jams-server/src/main/java/net/jami/jams/server/core/utils/ResponseBuilder.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.jami.jams.server.core.utils;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-public class ResponseBuilder {
-
-    public void  buildResponse(Integer status, String body, HttpServletResponse resp) throws Exception{
-        resp.setStatus(status);
-        resp.getOutputStream().write(body.getBytes());
-    }
-
-
-}
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 a9e4bbfaaa5fd5408eab1402ed43930f2635bf1c..912e41534b53148416177c2c6c3a672b8da62ed8 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,7 +22,7 @@ public class CRLServlet extends HttpServlet {
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append(CRL_HEAD);
-        stringBuilder.append(Base64.getEncoder().encodeToString(certificateAuthority.getLatestCRL().get().getEncoded()));
+        stringBuilder.append(certificateAuthority.getLatestCRLPEMEncoded());
         stringBuilder.append(CRL_TAIL);
         resp.getOutputStream().write(stringBuilder.toString().getBytes());
     }