4
시작하기
hanmj edited this page 2 months ago
xit-gpki란?
xit-gpki는 공공 전문통신 시 암복호화를 실행하는 GPKI 모듈의 사용을 돕는 지원 모듈이다.
설치
xit-gpki를 사용하려면
- 프로젝트의 pom.xml에 의존성을 추가
- intf-conf/gpki.conf 파일을 설정한다.
의존성 추가
xit-gpki를 응용시스템에서 사용하려면 프로젝트의 pom.xml에 의존성을 다음과 같이 추가한다.
<dependency>
<groupId>cokr.xit.interfaces</groupId>
<artifactId>xit-gpki</artifactId>
<version>23.04.01-SNAPSHOT</version>
</dependency>
gpki.conf 설정
클래스패스 상에 intf-conf 디렉토리와 gpki.conf 파일을 생성하고 다음 내용을 설정한다.
{
"enabled": true, /* 활성화(사용) 여부 */
"license": "C:\\GPKI\\Lic", /* 이용기관 GPKI API 라이센스 디렉토리 */
"charset": "UTF-8", /* 문자셋 */
"server": {
"local": "SVR3910262001", /* 이용기관 서버 CN */
"targets": "SVR1311000030" /* 대상기관 서버인증서 아이디, 여러 개일 경우 컴마(,)로 구분 */
},
"ldapUrl": "ldap://10.1.7.118:389/cn=", /* 대상기관 인증서 다운로드를 위한 행정망 LDAP URL */
/*"ldapUrl": "ldap://152.99.57.127:389/cn=", 대상기관 인증서 다운로드를 위한 인터넷망 LDAP URL */
"certDir": "C:\\GPKI\\Certificate\\class1", /* 서버 인증서, 키 저장 디렉토리 */
"targetCert": "{serverID}.cer", /* 대상기관 인증서 이름 패턴 */
"env": { /* 이용기관 서버 인증서 */
"certFile": "SVR3910262001_env.cer",
"privateKeyFile": "SVR3910262001_env.key",
"privateKeyPassword": "wkddodls3322!"
},
"sig": { /* 이용기관 서버 전자서명 */
"certFile": "SVR3910262001_sig.cer",
"privateKeyFile": "SVR3910262001_sig.key",
"privateKeyPassword": "wkddodls3322!"
}
}
암복호화
암복호화는 cokr.xit.interfaces.gpki.GPKI
로 위 설정내용을 바탕으로 실행한다.
암호화
암호화는 GPKI.encrypt(String, String)
로 실행한다.
String targetServer = "...", // gpki.conf 파일의 'server.targets'에 설정한 서버인증서 아이디 중 하나
text = "나랏말씀이 중국과 달라";
GPKI gpki = new GPKI();
String encrypted = gpki.encrypt(targetServer, text);
복호화
복호화는 `GPKI.decrypt(String)'으로 실행한다.
String decrypted = gpki.decrypt(encrypted);