작업 전 참고사항
이 문서는 일반적인 설정이며 서버 및 네트워크 환경에 따라 달라질 수 있습니다.
진행 과정
1. Crt 형식에서 JKS 형식으로 변환합니다.
※ 발급 받은 인증서의 형식이 .crt 이실 경우, jks 인증서 변환이 필요하므로 아래 항목 순으로 변환 부탁드립니다.
① crt 파일을 pem으로 변환합니다.
pem 형식은 “.key” 파일과 “.pem” 파일로 구분 됩니다.
“.key” 파일은 개인키(private key)이며, “.pem” 파일은 public(도메인)/체인/루트 인증서가 하나의 bundle 로 구성 되어야합니다.
받으신 각각의 “.crt” 인증서들은 .txt 확장자로 변경 하시면 text 형식으로 key 값을 확인 하실 수 있습니다.
각 key 값을 복사하시어 도메인/체인/루트 인증서 순으로 빈 메모장에 복사 합니다.
빈 메모장은 cert.pem 으로 리네임 합니다.
(“.pem”파일의 해당 인증서들은 “-----BEGIN CERTIFICATE-----“ ~ “-----END CERTIFICATE-----“ 한 단락으로 정의됩니다.)
② pem 형식에서 pfx 형식으로 변환합니다.
openssl pkcs12 -inkey {private key 파일이름} -in {도메인/체인/루트번들 파일이름} -export -out {생성될 pfx이름}
③ pfx 형식에서 jks 형식으로 변환합니다.
keytool -importkeystore -srckeystore {생성한pfx이름} -srcstorepass {패스워드} -deststorepass {생성될 jks의 패스워드} -srcstoretype PKCS12 -destkeystore {생성될 JKS 파일이름}
2. jks 인증서를 적용합니다.
① 인증서를 해당 SSL 폴더에 업로드 또는 저장합니다.
※ 인증서 파일의 파일명은 예시이므로 사용자 설정에 따라 인증서 파일명이 달라질 수 있습니다.
[root@localhost New]$ cp www.ucert.co.kr* /resin_4.0/keys
[root@localhost New]$ cd /Resin/keys
[root@localhost ssl]$ ll
-rw-r--r--. 1 root root 1744 Jan 1 00:00 www.ucert.co.kr.jks
-rw-r--r--. 1 root root 1744 Jan 1 00:00 password.txt
② conf/resin.properties.in 파일에 설정을 확인해 주도록 합니다.
68 #Set HTTP and HTTPS bind address
69 http_address : *
70
71 # Set HTTP and HTTPS ports.
72 # Use overrides for individual server control, for example: app-0.http : 8081
73 app.http : 80
74 app.https : 443
75
76 web.http : 80
77 web.https : 443 #설명 : 포트번호는 디폴트로 443 설정
……………………………………………………………………………………………………………………
119 # JSSE certificate configuration
120 # Keys are typically stored in the resin configuration directory.
121 jsse_keystore_type : jks
122 jsse_keystore_file : /usr/local/resin4/keys/www.ucert.co.kr.jks #설명 : 경로 및 파일 확인
123 jsse_keystore_password : ucert #설명 : 비밀번호 확인
③ 인증서 파일을 확인 후, 백업 및 교체를 진행합니다.
※ 명령어 형식 : echo "" | openssl s_client -connect [도메인 or IP]:[포트번호] | openssl x509 -noout -dates
[root@localhost keys]# ll #설명 : 인증서 목록 확인
-rw-r--r--. 1 root root 4782 2016-06-24 17:20 www.ucert.co.kr.jks
[root@localhost keys]# mkdir 20160101
[root@localhost keys]# cp www.ucert.co.kr.jks 20160101 #설명 : 인증서 백업을 진행
[root@localhost ssl]# cp www.ucert.co.kr.jks /usr/local/resin4/keys/ #설명 : 인증서 파일 교체
④ Resin을 재시작합니다.
[root@localhost resin4]# bin/resin.sh stop #설명 : 서버를 정지
[root@localhost resin4]# bin/resin.sh start-all #설명 : 서버를 재기동
⑤ 포트 확인 및 기동을 확인합니다.
[root@localhost resin-4.0.48]# netstat -nlp | grep java
tcp 0 0 ::ffff:127.0.0.1:6600 :::* LISTEN 3195/java
tcp 0 0 ::ffff:127.0.0.1:6800 :::* LISTEN 3244/java
tcp 0 0 :::88 :::* LISTEN 3244/java
tcp 0 0 :::443 :::* LISTEN 3244/java
인증서 확인하기
- 웹페이지에서의 인증서 확인 방법
※ 도메인 접속 후,
‘Alt 키’ 누르기 → ‘파일 > 속성 > 인증서’ 클릭 → 인증서 보기를 선택 하시면 인증서 정보를 확인 할 수 있습니다.
※ 발급 대상과 유효 기간이 맞는지 확인합니다.