반응형
1. 사전준비
- JAVA JDK
- window용 OpenSSL (다운로드 링크: http://slproweb.com/products/Win32OpenSSL.html)
2. keytool 생성 및 SSL 적용 순서
CMD창에서 아래와 같이 명령어를 실행합니다.
a. keystore파일 생성
keytool -genkey -alias tomcat -keyalg RSA -keypass [키 비밀번호] -storepass [스토어 비밀번호]
-keystore C:/OpenSSL/bin/.keystore -dname "CN=127.0.0.1, OU=OrgUnit, O=MyCompany, C=KR"
위 명령어에서 가장 중요한 사항은 CN(Common Name) 부분인데 사용할 서버의 ip나 도메인과 꼭 일치해야 합니다.
b. CSR파일 생성
keytool -certreq -keyalg RSA -alias tomcat -keystore C:/OpenSSL/bin/.keystore
-file "C:/OpenSSL/bin/certreq.csr"
별칭은 keystore 파일 생성 별칭과 동일하게 작성해줍니다.
다운로드 받은 OpenSSL를 실행해 아래와 같이 명령어를 실행합니다(경로: OpenSSL/bin/openssl.exe).
c. CA인증키 생성
genrsa -aes256 -out ca.key 1024
d. Self-Signed CA인증서 생성
req -new -x509 -days 365 -key ca.key -out ca.crt
e. 인증서 발급
x509 -req -CA ca.crt -CAkey ca.key -days 365 -in "C:/OpenSSL/bin/certreq.csr"
-out certreq.crt -set_serial 01
다시 CMD창에서 아래와 같이 명령어를 실행합니다.
f. 키 리스트 등록
keytool -importcert -alias root -trustcacerts -keystore C:/OpenSSL/bin/.keystore
-file "C:/OpenSSL/bin/ca.crt"
위 명령어를 실행하면 인증서를 신뢰하냐는 문구가 나오는데 y를 입력하면 됩니다.
keytool -importcert -alias tomcat -trustcacerts -keystore C:/OpenSSL/bin/.keystore
-file "C:/OpenSSL/bin/certreq.crt"
위와 같이 명령어를 실행하면 키가 저장소에 저장되게 되고 저장되어 있는 키 리스트를 확인하는 방법은 아래와 같습니다.
keytool -list -v -keystore C:/OpenSSL/bin/.keystore
위와 같이 명령어를 입력하고 키 저장소 비밀번호를 입력하면 저장한 인증키 리스트가 출력됩니다.
3. 참고사항
키 리스트를 삭제하는 방법은
keytool -delete -alias root -keystore C:/OpenSSL/bin/.keystore
keytool -delete -alias tomcat -keystore C:/OpenSSL/bin/.keystore
인증서리스트를 저장할 때 부여했던 alias를 각 입력하여 리스트를 삭제하면 됩니다.
4. Tomcat 설정방법
conf/server.xml에 아래와 같이 설정하면 된다.
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="ture"
keystoreFile="C:/OpenSSL/bin/.keystore" keystorePass="스토어 비밀번호"
clientAuth="false" sslProtocol="TLS" />
위와 같이 설정하면 https://127.0.0.1:8443 으로 SSL 통신이 가능하다.
🙏 참조 ::
반응형
'Linux' 카테고리의 다른 글
[Linux] sftp 패스워드 없이 key 인증으로 접속 (0) | 2022.05.25 |
---|---|
[Linux] Crontab(크론탭) 시간 설정 (0) | 2022.04.28 |
[Linux] nohup 명령어 (0) | 2022.04.28 |
[Linux] OS버전 확인하기 (0) | 2022.04.28 |
[Linux] centOS7 방화벽(firewall) 포트 오픈 방법 (0) | 2021.01.29 |