diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java index c40dc2f2..bf3d2d27 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/config/EvcsFilter.java @@ -298,15 +298,12 @@ public class EvcsFilter extends OncePerRequestFilter { String computedSig = HMAC.hmacDigest( operatorIDNode.asText().concat(dataNode.asText()).concat(timestampNode.asText()).concat(seqNode.asText()), authSecretToken.getSigSecret()); - if ((encin != null && !"false".equals(encin)) && !computedSig.equals(sigNode.asText())) { + if ((encin == null || !"false".equals(encin)) && !computedSig.equals(sigNode.asText())) { throw new InvalidAlgorithmParameterException("Illegal Sig, computed: ".concat(computedSig)); } String rawData = dataNode.asText(); - String decryptedData; - if (rawData.startsWith("{")) { - decryptedData = rawData; -// ((ObjectNode) rootNode).put("Data", rawData); - } else { + String decryptedData = rawData; + if ((encin == null || encin.equals("true")) || authSecretToken.isEncrypt()) { decryptedData = Aes128Cbc.decryptString(rawData, authSecretToken.getDataSecret(), authSecretToken.getDataSecretIV()); ((ObjectNode) rootNode).put("Data", decryptedData);