암복호화 JacksonUtil 사용으로 변경

This commit is contained in:
curry772
2026-07-03 09:01:40 +09:00
parent 72a39b8d9c
commit 6597464515
5 changed files with 22 additions and 17 deletions
@@ -5,6 +5,7 @@ import java.util.Properties;
import com.eactive.eai.adapter.http.client.impl.HttpClient5AdapterServiceRest;
import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter;
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
import com.eactive.eai.common.util.JacksonUtil;
import com.eactive.eai.util.JsonPathUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -28,7 +29,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter {
throws Exception {
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
JsonNode root = JsonPathUtil.toTree(message);
JsonNode root = JacksonUtil.readTree(message);
ObjectNode rootObjectNode = (ObjectNode) root;
JsonNode header = rootObjectNode.get(headerGroupName);
rootObjectNode.remove(headerGroupName);
@@ -41,7 +42,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter {
Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp));
ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc);
ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc);
encJson.set(headerGroupName, header);
return encJson;
@@ -5,6 +5,7 @@ import java.util.Properties;
import com.eactive.eai.adapter.http.client.impl.HttpClient5AdapterServiceRest;
import com.eactive.eai.adapter.http.client.impl.filter.HttpClientAdapterFilter;
import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter;
import com.eactive.eai.common.util.JacksonUtil;
import com.eactive.eai.util.JsonPathUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -26,14 +27,14 @@ public class EncFieldOutCryptoFilter implements HttpClientAdapterFilter {
throws Exception {
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
JsonNode root = JsonPathUtil.toTree(message);
JsonNode root = JacksonUtil.readTree(message);
ObjectNode rootObjectNode = (ObjectNode) root;
JsonNode header = rootObjectNode.get(headerGroupName);
rootObjectNode.remove(headerGroupName);
Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp));
ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc);
ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc);
encJson.set(headerGroupName, header);
return encJson;
@@ -12,7 +12,7 @@ import com.eactive.eai.adapter.http.dynamic.filter.FilterCryptoException;
import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter;
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
import com.eactive.eai.adapter.service.DJBApiAdapterService;
import com.eactive.eai.util.JsonPathUtil;
import com.eactive.eai.common.util.JacksonUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -66,7 +66,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter {
try {
setContext(prop);
JsonNode root = JsonPathUtil.toTree(resultMessage);
JsonNode root = JacksonUtil.readTree(resultMessage);
ObjectNode rootObjectNode = (ObjectNode) root;
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
JsonNode header = null;
@@ -76,7 +76,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter {
}
Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response);
ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc);
ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc);
if(header != null)
encJson.set(headerGroupName, header);
@@ -7,13 +7,13 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.http.HttpStatus;
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
import com.eactive.eai.adapter.service.DJBApiAdapterService;
import com.eactive.eai.util.JsonPathUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.eactive.eai.adapter.http.dynamic.filter.FilterCryptoException;
import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter;
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
import com.eactive.eai.adapter.service.DJBApiAdapterService;
import com.eactive.eai.common.util.JacksonUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* InCryptoFilter를 멤버변수로 관리하는 HttpAdapterFilter 구현체.
@@ -35,7 +35,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter {
public Object doPostFilter(String adptGrpName, String adptName, Object resultMessage, Properties prop,
HttpServletRequest request, HttpServletResponse response) throws Exception {
try {
JsonNode root = JsonPathUtil.toTree(resultMessage);
JsonNode root = JacksonUtil.readTree(resultMessage);
ObjectNode rootObjectNode = (ObjectNode) root;
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
JsonNode header = null;
@@ -45,7 +45,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter {
}
Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response);
ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc);
ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc);
if(header != null)
encJson.set(headerGroupName, header);
@@ -36,11 +36,15 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter {
jsonStr = (String) message;
} else if (message instanceof JSONObject) {
jsonStr = ((JSONObject) message).toJSONString();
} else if (message instanceof ObjectNode) {
rootNode = (ObjectNode) message;
} else {
return message;
}
rootNode = (ObjectNode)OBJECT_MAPPER.readTree(jsonStr);
if (rootNode == null)
rootNode = (ObjectNode) OBJECT_MAPPER.readTree(jsonStr);
JsonNode hsmKeyAlias = rootNode.get("hsmKeyAlias");
if (hsmKeyAlias != null) {
String hsmKeyAliasValue = hsmKeyAlias.textValue();
@@ -60,8 +64,7 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter {
}
}
}
String jsonString = OBJECT_MAPPER.writeValueAsString(rootNode);
return jsonString;
return rootNode;
} catch (Exception e) {
throw new FilterException("HSM key 가져오기 실패", ERROR_PRE_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e);