From c18f0ab970272d3afdf3fd5fdec9997279d166ba Mon Sep 17 00:00:00 2001 From: Francesco Mancuso Date: Thu, 26 Mar 2026 22:21:44 +0100 Subject: [PATCH] [1.0.0] New API REST --- cryptea-1.0.0.jar | Bin 13492 -> 0 bytes cryptea-tools-1.0.0.jar | Bin 0 -> 13332 bytes .../main/java/tools/cryptea/Certificate.java | 30 ++++++++---------- 3 files changed, 13 insertions(+), 17 deletions(-) delete mode 100644 cryptea-1.0.0.jar create mode 100644 cryptea-tools-1.0.0.jar diff --git a/cryptea-1.0.0.jar b/cryptea-1.0.0.jar deleted file mode 100644 index b6cc860d55586e08eacb14f9982ce9f6789a1911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13492 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 EA7a57Pyhe` diff --git a/cryptea-tools-1.0.0.jar b/cryptea-tools-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9709fa18d40d5ffe0b37c9060e4e8d3de0a3f9ef GIT binary patch literal 13332 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 a0;`HV?7w0XCIlt~^>aOU;TZ-3;{O19iQgyy literal 0 HcmV?d00001 diff --git a/cryptea/src/main/java/tools/cryptea/Certificate.java b/cryptea/src/main/java/tools/cryptea/Certificate.java index 983b360..f2c5a58 100644 --- a/cryptea/src/main/java/tools/cryptea/Certificate.java +++ b/cryptea/src/main/java/tools/cryptea/Certificate.java @@ -33,17 +33,12 @@ import tools.cryptea.utils.Base64Helper; import tools.cryptea.utils.HexHelper; import tools.cryptea.utils.JsonHelper; import tools.jackson.databind.JsonNode; -import tools.jackson.databind.ObjectMapper; -import tools.jackson.databind.node.ObjectNode; public class Certificate { // Url base per verifica public static final String BASE_URL = "https://cryptea.web.francescomancuso.it"; - // per Jackson v3 - private static final ObjectMapper mapper = new ObjectMapper(); - // per richieste HTTP private static final HttpClient CLIENT = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) @@ -236,31 +231,32 @@ public class Certificate { String[] parts = cleaned.split("\\."); if (parts.length < 4) throw new IllegalArgumentException("Formato certificato incompleto"); - return Base64Helper.toString(parts[0]).split("\\|")[1]; + + String id = null; + try { + id = Base64Helper.toString(parts[0]).split("\\|")[1].split("\\=")[1]; + } catch (Exception e) { + throw new IllegalArgumentException("Formato certificato errato"); + } + return id; } /** * Controlla se il certificato รจ stato revocato, attraverso una verifica remota * OCSP (Online Certificate Status Protocol) * - * @param mdex I metadati estratti dal certificato + * @param certId L'ID del certificato estratto * @return Un array, r[0] indica true/false, r[1] l'eventuale motivo di errore * @throws Exception Nella gestione della richiesta HTTP */ public static String[] certificateIsActive(String certId) throws Exception { String[] ret = new String[2]; - ObjectNode json = mapper.createObjectNode(); - json.put("action", "verify_cert"); - json.put("certId", certId); - - String finalJson = JsonHelper.nodeToJson(json); - HttpRequest request = HttpRequest.newBuilder() - .uri(new URI(BASE_URL + "/api/v2/verify")) + .uri(new URI(BASE_URL + "/api/v2/cert/" + certId + "/verify")) .headers("Content-Type", "application/json") .timeout(Duration.ofSeconds(15)) - .POST(HttpRequest.BodyPublishers.ofString(finalJson)) + .GET() .build(); try { @@ -270,10 +266,10 @@ public class Certificate { String status = jsonRes.get("status").asString(); if (status.equals("ok")) { - ret[0] = jsonRes.get("isActive").asString(); + ret[0] = jsonRes.get("content").get("isActive").asString(); } else { ret[0] = "null"; - ret[1] = "Errore nel processo di verifica!"; + ret[1] = jsonRes.get("content").get("reason").asString() + " - Codice di errore: " + jsonRes.get("code").asString(); } } catch (HttpTimeoutException e) {