4 xit crypto.conf 설정
hanmj edited this page 1 week ago

xit-crypto.conf

전문 수신/전송 결과를 데이터베이스에 저장할 때, 민감정보의 암복호화에 관련한 사항을 설정한다.

cryptoDefs

  • ARIA, XitArea, echelon, dguard를 지원한다.
  • 디폴트는 ARIA를 사용하도록 설정되어 있다.
  • 설치 사이트의 상황에 따라 사용하는 항목을 활성화하고, 사용하지 않는 항목은 제거한다.
{	"enabled": true, /* 암복호화 사용 여부 */
	"cryptoDefs": [  /* 사용하는 암복호화 컴포넌트를 설정 */
		{	"name": "aria",
			"class": "cokr.xit.base.crypto.bean.ARIA",
			"settings": {
				"key": "Copyright (c) 2015 - (주)엑스아이티",
				"algorithm": "SHA-256",
				"blockSize": 1024
			}
		}
/*
		{	"name": "echelon",
			"class": "cokr.xit.base.crypto.bean.Echelon",
			"settings": {
				"module": "3rd-party/echelon",
				"agentIP": "211.119.124.117",
				"agentPort": 29995
			}
		},
		{	"name": "dguard",
			"class": "cokr.xit.base.crypto.bean.DGuard",
			"settings": {
				"secureID": "xit_agent",
				"securePWD": "Agent!@#$5",
				"securePIN": "Agent!@#$5",
				"propertyPath": "3rd-party/dguard/conf/dguard.conf",
				"tableName": "TB_PAYER",
				"columnName": "RTPYR_NO"
			}
		},
        {
            "name": "xit-aria",
            "class": "cokr.xit.base.crypto.bean.XitAria",
            "settings": {
                "charset": "...",
                "key": "Copyright (c) 2015 - (주)엑스아이티"
//              "version": 1 /* 데스크탑 C++ 버젼을 포팅한 로직을 사용할 경우 */
            }
        }
*/
	],

	"targetValues": [ /* 암복호화 대상 데이터  */
		{	"name": "데이터 이름",
			"mapKeys": [ /* 맵이나 DataObject가 암복호화할 값을 가질 경우 값의 키를 지정한다. */
				"pyrNo",
				"PYR_NO",
				"RPRS_PYR_NO"
			],
			"objectProperties": [ /* 객체가 암복호화할 값을 가질 경우 값의 프로퍼티 이름을 지정한다. */
				"pyrNo",
				"request.pyrNo",
				"request.rprsPyrNo",
				"response.resVo1.pyrNo"
			],
			"cryptoDefs": ["aria"] /* 암복호화에 사용할 컴포넌트 이름. 하나만 설정 */
		}
	]
}

targetValues

  • 서로 다른 데이터 이름(name)의 mapKeys, objectProperties는 중복되면 안된다.
  • mybatis 매퍼.xml의 '<foreach../>'에 포함되는 값을 암복호화하려면 collection 애트리뷰트에 지정한 값의 이름을 설정한다.