티스토리 뷰
이 문서는 행정전자서명 표준API를 설정 하며 개인적으로 작성한 기록용 문서 입니다.
자세한 내용은 다루지 않고 있으므로 자세한 사항은 '표준보안 API 인증 관리 센터' 에 문의 하시기 바랍니다.
1. 기본 사항
서버 운영체제 | Debian Linux 7 64Bit |
JDK | openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode) |
2. 미리 알아 두기
- 표준보안 API 인증 관리 센터 : 02-818-3000 또는 02-818-3010 번 ( 2번 -> 2번 )
통화 하기가 어렵다. 5일간회신 전화 번호를 여러번 남겨도 회신 전화는 오지 않았다.
- 행정전자서명 개발자용 가이드 : [링크] 참고 / 19.11.15 - 인증서 문제로 크롬에서 안열림
3. 표준API 모듈
4. 모듈 업로드 및 압축 해제
64비트 운영체제와 64비트 java 를 사용하기 때문에, gpkiapiJava_v1.5.1.0_Linux_2.6.9-89.EL_x86_64_64bit_20170501.tgz 파일을 서버에 업로드 하여 압축 해제 하였다.
mfds@MFDS:~$ tar zxvf gpkiapiJava_v1.5.1.0_Linux_2.6.9-89.EL_x86_64_64bit_20170501.tgz ... 중략 ... |
경로가 길어서 짧게 이름도 바꾸어 주었다.
mfds@MFDS:~$ mv gpkiapiJava_v1.5.1.0_Linux_2.6.9-89.EL_x86_64_64bit_20170501 gpkiapiJava_v1.5.1.0 |
5. CLASSPATH 및 PATH 설정
mfds@MFDS:~$ vi ~/.bashrc |
export JAVA_HOME="/home/mfds/openjdk/jdk-11.0.2" export CLASSPATH="/home/mfds/gpkiapiJava_v1.5.1.0/jar/libgpkiapi_jni.jar" export LD_LIBRARY_PATH="/home/mfds/gpkiapiJava_v1.5.1.0/lib64" export LIBPATH="/home/mfds/gpkiapiJava_v1.5.1.0/lib64" export PATH=$JAVA_HOME/bin:$CLASSPATH:$LD_LIBRARY_PATH:$LIBPATH:$PATH |
* 개발자용 가이드에 linux 의 bash shell 은 나와 있지 않아 LD_LIBRARY_PATH, LIBPATH 둘다 잡아 주고 혹시 몰라 PATH에 걸어 주었다.
6. 임시 라이센스 복사
인증관리센터에서 보내온 메일에 포함된 "임시 라이센스 gpkiapi.lic" 파일을 jtest 디렉토리에 복사 한다.
정식 인증서의 경우는 ESB AGENT 에서 사용 하게 된다고 한다.
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ pwd /home/mfds/gpkiapiJava_v1.5.1.0/jtest mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ ls -al gpkiapi.lic -rwxr-xr-x 1 mfds mfds 248 Nov 14 11:58 gpkiapi.lic |
7. libgpkiapi 라이브러리의 의존성 확인
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ pwd /home/mfds/gpkiapiJava_v1.5.1.0/lib64 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ldd libgpkiapi.so linux-vdso.so.1 => (0x00007ffd6a0cf000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdb61a70000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdb616e3000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdb613dc000) libldap-2.2.so.7 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/libldap-2.2.so.7 (0x00007fdb62206000) liblber-2.2.so.7 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/liblber-2.2.so.7 (0x00007fdb612ce000) /lib64/ld-linux-x86-64.so.2 (0x00007fdb62124000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdb610b8000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fdb60ea2000) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fdb60c87000) libssl.so.4 => not found libcrypto.so.4 => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdb60822000) libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fdb60428000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdb60211000) |
8. 의존성 라이브러리 설치
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ su - Password: root@MFDS:~# apt-get install libssl1.0.0 libcrypto++9 libcrypto++-dev ... 중략... |
9. libgpkiapi 의 의존성 라이브러리 심볼릭 링크 생성
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ pwd /home/mfds/gpkiapiJava_v1.5.1.0/lib64 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ls -al total 3948 drwxr-xr-x 2 mfds mfds 4096 Nov 14 15:05 . drwxr-xr-x 9 mfds mfds 4096 Nov 12 09:17 .. -rwxr-xr-x 1 mfds mfds 3745338 Sep 21 2011 libgpkiapi.so -rwxr-xr-x 1 mfds mfds 60752 Sep 21 2011 liblber-2.2.so.7 -rwxr-xr-x 1 mfds mfds 224104 Sep 21 2011 libldap-2.2.so.7 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 libssl.so.4 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ln -s /usr/lib/libcryptopp.so.9 libcrypto.so.4 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ls -al total 3948 drwxr-xr-x 2 mfds mfds 4096 Nov 14 15:05 . drwxr-xr-x 9 mfds mfds 4096 Nov 12 09:17 .. lrwxrwxrwx 1 mfds mfds 25 Nov 14 15:05 libcrypto.so.4 -> /usr/lib/libcryptopp.so.9 -rwxr-xr-x 1 mfds mfds 3745338 Sep 21 2011 libgpkiapi.so -rwxr-xr-x 1 mfds mfds 60752 Sep 21 2011 liblber-2.2.so.7 -rwxr-xr-x 1 mfds mfds 224104 Sep 21 2011 libldap-2.2.so.7 lrwxrwxrwx 1 mfds mfds 41 Nov 14 14:56 libssl.so.4 -> /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 mfds@MFDS:~/gpkiapiJava_v1.5.1.0/lib64$ ldd libgpkiapi.so linux-vdso.so.1 => (0x00007ffeef3a1000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb0777dc000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb07744f000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb077148000) libldap-2.2.so.7 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/libldap-2.2.so.7 (0x00007fb077f72000) liblber-2.2.so.7 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/liblber-2.2.so.7 (0x00007fb07703a000) /lib64/ld-linux-x86-64.so.2 (0x00007fb077e90000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb076e24000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fb076c0e000) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb0769f3000) libssl.so.4 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/libssl.so.4 (0x00007fb076792000) libcrypto.so.4 => /home/mfds/gpkiapiJava_v1.5.1.0/lib64/libcrypto.so.4 (0x00007fb076084000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb075e80000) libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fb075a86000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb07586f000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb075653000) |
10. jtest
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ pwd /home/mfds/gpkiapiJava_v1.5.1.0/jtest mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ ./run64.sh ... 중략 ... Main.java:36: error: unmappable character (0xA8) for encoding UTF-8 System.out.println("Copyright 2005-2006 DreamSecurity Co.,Ltd."); ^ Main.java:36: error: unmappable character (0xCF) for encoding UTF-8 System.out.println("Copyright 2005-2006 DreamSecurity Co.,Ltd."); ^ 2 errors Unrecognized option: -d64 Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. |
소스의 UTF-8 관련 문제와 -d64 옵션에 관련된 문제가 발생 했다. 소스의 UTF-8 문제는 인증관리센터에 전화를 하여 한글이 제거된 UTF-8 소스를 받던가, 아니면 직접 수정을 한다. 본인의 경우 인증관리센터에 전화 하였더니, 한글이 제거된 소스를 보내 준다고 하여 받아서 덮어 쓰기 하였다.
-d64 의 문제는 jtest 디렉토리의 run64.sh 파일을 직접 수정 하여 해당 옵션을 사용 안하도록 하였다.
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ vi run64.sh |
rm *.class javac -classpath ../jar/libgpkiapi_jni.jar *.java #java -d64 -classpath ../jar/libgpkiapi_jni.jar:. Main java -classpath ../jar/libgpkiapi_jni.jar:. Main |
mfds@MFDS:~/gpkiapiJava_v1.5.1.0/jtest$ ./run64.sh ----------------------------------------- gpkiapi (JAVA) Test Copyright ⓒ 2005-2006 DreamSecurity Co.,Ltd. ----------------------------------------- # Module Version -------------------------------------------------------------- Version : V1.5.1.0 Last update : 2010.04.22 -------------------------------------------------------------- Copyright (C) 2003~2009 Government Computerization Center (GCC). All rights reserved. >> is print log (y/n) : y ... 중략 ... ============================================================== Error Count ============================================================== CERT : 9 CMS : 6 CRYPTO : 2 IVS : 2 TSA : 1 UTIL : 0 -------------------------------------------------------------- TOTAL : 20 ============================================================== |
위의 화면과 같이 나타나면 "표준보안 API 인증 관리 센터" 에서는 gpkiapi 표준 API 설정이 정상 적으로 된 것이라고 한다.
개발자용 메뉴얼 에서도 에러 카운트는 신경 쓰지 말라고 한다.
- Total
- Today
- Yesterday
- 맛집
- SSL
- food
- Spring
- Review
- 엘리스센터
- HTTP
- json parse
- gpkiapi
- samba
- TIP
- dart
- development
- devtools
- devel
- JavaScript
- Android
- springboot
- Security
- place
- Mobile
- ssh
- kotlin
- Flutter
- Compile
- MySQL
- Java
- web
- Fun
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |