프로젝트 진행 중 고객사로부터 전달받은 인증서 파일은
ChainCA.crt , RootCA.crt, CSR.pem, PrivateKey.pem, domain_co_kr.pem
이렇게 다섯 개 파일이었다.
이 파일들로 ssl인증서 등록하는 방법은
1. domain_co_kr.pem 파일을 crt 파일로 바꿔준다.
openssl x509 -outform der -in domain_co_kr.pem -out domain_co_kr.crt
2. PrivateKey.pem 파일을 key 파일로 바꿔준다.
openssl rsa -in PrivateKey.pem -out domain_co_kr.key
3. crt 파일 세 개를 합치면서 확장자를 변경해준다.
cat ChainCA.crt RootCA.crt domain_co_kr.crt > domain_co_kr.pem
4. 변환한 domain_co_kr.pem과 domain_co_kr.key를 이용해 p12 파일을 만든다.
openssl pkcs12 -export -in domain_co_kr.pem -inkey domain_co_kr.key -out domain_co_kr.p12
이 때, 암호를 입력하는 과정을 거친다.
5. keytool을 이용해 keystore 파일로 변환한다.
keytool -importkeystore -srckeystore domain_co_kr.p12 -srcstoretype PKCS12 -destkeystore domain_co_kr.keystore -deststoretype JKS
이 때도 암호 설정 과정이 있다.
이 때, keytool: command not found 에러가 출력 될 수 있다. 그럴 때는 자바 환경변수 설정이 안된 것일 수 있으므로
java -version
이 정상적으로 출력 되는지 확인해본다.
만약 정상적으로 출력 되지 않을 때에는
vi /etc/profile
명령어로 JAVA_HOME 이 잘 잡혀있는지 확인 후,
source /etc/profile
명령어로 설정을 적용해준 후 다시 해본다.
6. domain_co_kr.keystore 가 정상적으로 생성되었는지 확인한다.
ll 이나 ls로 보이지 않을 때는 ls -al를 이용.
7. 톰캣path/conf/server.xml 에 아래처럼 수정한다.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="/path/domain_co_kr.keystore"
keystorePass="비밀번호"
clientAuth="false" sslProtocol="TLS" />
혹시 key 확장자가 pem 인데, p12 파일이 필요하다면, 아래 명령어로 동일하게 변경도 가능한 것 같다.
openssl pkcs12 -export -out domain_co_kr_cert.p12 -in domain_co_kr_cert.pem -inkey PrivateKey.pem
'개발 > Server' 카테고리의 다른 글
SecureCRT로 ssh접속할 때 'Key exchange failed' 오류 해결 (0) | 2023.10.14 |
---|---|
[Linux] curl 명령어로 http get / post 사용 (0) | 2023.03.03 |
[AIX] AIX서버 백스페이스, 자동완성 활성화 (0) | 2022.10.05 |
[Linux] CentOS7 톰캣 8080 → 80 8443 → 443 포트포워딩 (0) | 2022.10.05 |
[Linux]우분투(리눅스) 환경에서 파일 삭제하는 명령어 rm (0) | 2021.12.03 |
댓글