암복호화 JacksonUtil 사용으로 변경
This commit is contained in:
+3
-2
@@ -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.HttpClient5AdapterServiceRest;
|
||||||
import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter;
|
import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter;
|
||||||
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
|
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
|
||||||
|
import com.eactive.eai.common.util.JacksonUtil;
|
||||||
import com.eactive.eai.util.JsonPathUtil;
|
import com.eactive.eai.util.JsonPathUtil;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
@@ -28,7 +29,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter {
|
|||||||
throws Exception {
|
throws Exception {
|
||||||
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
|
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
|
||||||
|
|
||||||
JsonNode root = JsonPathUtil.toTree(message);
|
JsonNode root = JacksonUtil.readTree(message);
|
||||||
ObjectNode rootObjectNode = (ObjectNode) root;
|
ObjectNode rootObjectNode = (ObjectNode) root;
|
||||||
JsonNode header = rootObjectNode.get(headerGroupName);
|
JsonNode header = rootObjectNode.get(headerGroupName);
|
||||||
rootObjectNode.remove(headerGroupName);
|
rootObjectNode.remove(headerGroupName);
|
||||||
@@ -41,7 +42,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter {
|
|||||||
|
|
||||||
Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp));
|
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);
|
encJson.set(headerGroupName, header);
|
||||||
|
|
||||||
return encJson;
|
return encJson;
|
||||||
|
|||||||
+3
-2
@@ -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.HttpClient5AdapterServiceRest;
|
||||||
import com.eactive.eai.adapter.http.client.impl.filter.HttpClientAdapterFilter;
|
import com.eactive.eai.adapter.http.client.impl.filter.HttpClientAdapterFilter;
|
||||||
import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter;
|
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.eactive.eai.util.JsonPathUtil;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
@@ -26,14 +27,14 @@ public class EncFieldOutCryptoFilter implements HttpClientAdapterFilter {
|
|||||||
throws Exception {
|
throws Exception {
|
||||||
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
|
String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP);
|
||||||
|
|
||||||
JsonNode root = JsonPathUtil.toTree(message);
|
JsonNode root = JacksonUtil.readTree(message);
|
||||||
ObjectNode rootObjectNode = (ObjectNode) root;
|
ObjectNode rootObjectNode = (ObjectNode) root;
|
||||||
JsonNode header = rootObjectNode.get(headerGroupName);
|
JsonNode header = rootObjectNode.get(headerGroupName);
|
||||||
rootObjectNode.remove(headerGroupName);
|
rootObjectNode.remove(headerGroupName);
|
||||||
|
|
||||||
Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp));
|
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);
|
encJson.set(headerGroupName, header);
|
||||||
|
|
||||||
return encJson;
|
return encJson;
|
||||||
|
|||||||
+3
-3
@@ -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.HttpAdapterFilter;
|
||||||
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
|
import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter;
|
||||||
import com.eactive.eai.adapter.service.DJBApiAdapterService;
|
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.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter {
|
|||||||
try {
|
try {
|
||||||
setContext(prop);
|
setContext(prop);
|
||||||
|
|
||||||
JsonNode root = JsonPathUtil.toTree(resultMessage);
|
JsonNode root = JacksonUtil.readTree(resultMessage);
|
||||||
ObjectNode rootObjectNode = (ObjectNode) root;
|
ObjectNode rootObjectNode = (ObjectNode) root;
|
||||||
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
|
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
|
||||||
JsonNode header = null;
|
JsonNode header = null;
|
||||||
@@ -76,7 +76,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response);
|
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)
|
if(header != null)
|
||||||
encJson.set(headerGroupName, header);
|
encJson.set(headerGroupName, header);
|
||||||
|
|
||||||
|
|||||||
+7
-7
@@ -7,13 +7,13 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
|
|
||||||
import org.springframework.http.HttpStatus;
|
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.FilterCryptoException;
|
||||||
import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter;
|
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 구현체.
|
* InCryptoFilter를 멤버변수로 관리하는 HttpAdapterFilter 구현체.
|
||||||
@@ -35,7 +35,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter {
|
|||||||
public Object doPostFilter(String adptGrpName, String adptName, Object resultMessage, Properties prop,
|
public Object doPostFilter(String adptGrpName, String adptName, Object resultMessage, Properties prop,
|
||||||
HttpServletRequest request, HttpServletResponse response) throws Exception {
|
HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
try {
|
try {
|
||||||
JsonNode root = JsonPathUtil.toTree(resultMessage);
|
JsonNode root = JacksonUtil.readTree(resultMessage);
|
||||||
ObjectNode rootObjectNode = (ObjectNode) root;
|
ObjectNode rootObjectNode = (ObjectNode) root;
|
||||||
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
|
String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP);
|
||||||
JsonNode header = null;
|
JsonNode header = null;
|
||||||
@@ -45,7 +45,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response);
|
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)
|
if(header != null)
|
||||||
encJson.set(headerGroupName, header);
|
encJson.set(headerGroupName, header);
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -36,11 +36,15 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter {
|
|||||||
jsonStr = (String) message;
|
jsonStr = (String) message;
|
||||||
} else if (message instanceof JSONObject) {
|
} else if (message instanceof JSONObject) {
|
||||||
jsonStr = ((JSONObject) message).toJSONString();
|
jsonStr = ((JSONObject) message).toJSONString();
|
||||||
|
} else if (message instanceof ObjectNode) {
|
||||||
|
rootNode = (ObjectNode) message;
|
||||||
} else {
|
} else {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
rootNode = (ObjectNode)OBJECT_MAPPER.readTree(jsonStr);
|
|
||||||
|
|
||||||
|
if (rootNode == null)
|
||||||
|
rootNode = (ObjectNode) OBJECT_MAPPER.readTree(jsonStr);
|
||||||
|
|
||||||
JsonNode hsmKeyAlias = rootNode.get("hsmKeyAlias");
|
JsonNode hsmKeyAlias = rootNode.get("hsmKeyAlias");
|
||||||
if (hsmKeyAlias != null) {
|
if (hsmKeyAlias != null) {
|
||||||
String hsmKeyAliasValue = hsmKeyAlias.textValue();
|
String hsmKeyAliasValue = hsmKeyAlias.textValue();
|
||||||
@@ -60,8 +64,7 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String jsonString = OBJECT_MAPPER.writeValueAsString(rootNode);
|
return rootNode;
|
||||||
return jsonString;
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new FilterException("HSM key 가져오기 실패", ERROR_PRE_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e);
|
throw new FilterException("HSM key 가져오기 실패", ERROR_PRE_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e);
|
||||||
|
|||||||
Reference in New Issue
Block a user