diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java index 357f06972d432c113a05c27fceaca35161be7be2..0cffcc57a224a6c8a2f37b43960fb13d2ed07ead 100644 --- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java +++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeDeviceFlow.java @@ -17,12 +17,12 @@ import static net.jami.jams.server.Server.certificateAuthority; @Slf4j public class RevokeDeviceFlow { - public static DeviceRevocationResponse revokeDevice(String username, RevocationRequest request){ + public static DeviceRevocationResponse revokeDevice(String username, String deviceId){ DeviceRevocationResponse response = new DeviceRevocationResponse(); try { StatementList statementList = new StatementList(); StatementElement st1 = new StatementElement("owner","=",username,"AND"); - StatementElement st2 = new StatementElement("deviceId","=",request.getIdentifier().toString(),""); + StatementElement st2 = new StatementElement("deviceId","=",deviceId,""); statementList.addStatement(st1); statementList.addStatement(st2); Device device = dataStore.getDeviceDao().getObjects(statementList).get(0); @@ -30,6 +30,8 @@ public class RevokeDeviceFlow { log.error("Could not find device!"); return null; } + RevocationRequest request = new RevocationRequest(); + request.setRevocationType(RevocationType.DEVICE); request.setIdentifier(device.getCertificate().getSerialNumber()); certificateAuthority.revokeCertificate(request); long statTime = System.currentTimeMillis(); diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java index 62ebcfaf4c2963576702c57dd31a2fc35e86d08a..ad340267f0758bfa23e4797873915b85c373d27d 100644 --- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java +++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RevokeUserFlow.java @@ -5,6 +5,7 @@ import net.jami.jams.common.dao.StatementElement; import net.jami.jams.common.dao.StatementList; import net.jami.jams.common.objects.devices.Device; import net.jami.jams.common.objects.requests.RevocationRequest; +import net.jami.jams.common.objects.requests.RevocationType; import net.jami.jams.common.objects.responses.DeviceRevocationResponse; import net.jami.jams.common.objects.user.User; @@ -14,7 +15,7 @@ import static net.jami.jams.server.Server.dataStore; @Slf4j public class RevokeUserFlow { - public static DeviceRevocationResponse revokeUser(String username, RevocationRequest request){ + public static DeviceRevocationResponse revokeUser(String username){ DeviceRevocationResponse response = new DeviceRevocationResponse(); try { StatementList statementList = new StatementList(); @@ -25,6 +26,8 @@ public class RevokeUserFlow { log.error("Could not find user!"); return null; } + RevocationRequest request = new RevocationRequest(); + request.setRevocationType(RevocationType.USER); request.setIdentifier(user.getCertificate().getSerialNumber()); certificateAuthority.revokeCertificate(request); long statTime = System.currentTimeMillis(); 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 045ba9ad439a842b3b39e972b46d01395f2533b1..738d6f7256c93a4845b65d82e96ca2939dc81f48 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 @@ -39,9 +39,7 @@ public class UserServlet extends HttpServlet { //Revoke a user. @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - RevocationRequest request = new RevocationRequest(); - request.setRevocationType(RevocationType.USER); - DeviceRevocationResponse devResponse = RevokeUserFlow.revokeUser(req.getParameter("username").toString(), request); + DeviceRevocationResponse devResponse = RevokeUserFlow.revokeUser(req.getParameter("username")); if(devResponse != null) resp.getOutputStream().write(JsonStream.serialize(devResponse).getBytes()); else resp.sendError(500,"An exception has occurred while trying to revoke a device!"); } 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 67a10b2dc150ae5c1e803e062117c6c797b07590..d32491e5e457fb439526f3d3b4da4cf0255673da 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 @@ -53,10 +53,7 @@ public class DeviceServlet extends HttpServlet { @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doDelete(req, resp); - RevocationRequest request = new RevocationRequest(); - request.setIdentifier(new BigInteger(req.getAttribute("deviceId").toString())); - request.setRevocationType(RevocationType.DEVICE); - DeviceRevocationResponse devResponse = RevokeDeviceFlow.revokeDevice(req.getAttribute("username").toString(), request); + DeviceRevocationResponse devResponse = RevokeDeviceFlow.revokeDevice(req.getAttribute("username").toString(),req.getParameter("deviceId")); if(devResponse != null) resp.getOutputStream().write(JsonStream.serialize(devResponse).getBytes()); else resp.sendError(500,"An exception has occurred while trying to revoke a device!"); }