티스토리 뷰

반응형

Spring Https OpenSSL 적용

1. openSSL 다운로드

https://sourceforge.net/projects/openssl/files/latest/download?source=typ_redirect

2. 다운로드 받은파일 C 드라이브에 압축 풀기

3. C:\OpenSSL\bin\openssl 실행 후 아래와 같은 커맨드창 활성화 확인

 

4. 비밀번호가 없는 개인키, 공개키 생성 (비밀번호 있는 개인키 생성은 -des3 옵션이 필요)

개인키 생성 : genrsa -out 키이름 2048 >> genrsa -out private.key 2048

공개키 생성 : rsa -in 개인키 -pubout -out public.key >> rsa -in private.key -pubout -out public.key

C:\OpenSSL\bin\private.key, C:\OpenSSL\bin\public.key 파일생성 확인

 

5. CSR(인증요청서) 생성

: req -new -key 키 -out CSR이름csr >> req -new -key private.key -out private.csr

위와같은 에러나면 openssl.cnf 경로 잡아줘야함

>> req -config C:\OpenSSL\bin\openssl.cnf -new -key private.key -out private.csr

C:\OpenSSL\bin\private.csr 파일생성 확인

 

6. CRT(인증서) 생성

6-1 rootCA.key 생성 : genrsa 암호화 알고리즘 -out 키이름 2048 >> genrsa -aes256 -out rootCA.key 2048

C:\OpenSSL\bin\rootCA.key 파일생성 확인

6-2 rootCA 사설 CSR 생성 : req -x509 -new -nodes -key 키이름 -days 사용일수 -out csr저장명 >>                                                              req -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.pem

위와같은 에러나면 openssl.cnf 경로 잡아줘야함

>> req -config C:\OpenSSL\bin\openssl.cnf -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.pem

C:\OpenSSL\bin\rootCA.pem 파일생성 확인

6-3 CRT 생성 (5에서 만든 csr를 이용하여 rootCA를 인증받아 private.crt로 생성)

: x509 -req -in 생성된csr -CA 사설csr -CAkey 사설key -CAcreateserial -out crt저장명 -days 사용일수

>> x509 -req -in private.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out private.crt -days 3650

C:\OpenSSL\bin\rootCA.srl, C:\OpenSSL\bin\private.crt 파일생성 확인

C:\OpenSSL\bin\private.crt 파일 확인

 

7. Tomcat에서 사용하기위해 pkcs12 형식으로 변경

: pkcs12 -export -in crt이름 -inkey 키이름 -out 저장명 -name tomcat

>> pkcs12 -export -in private.crt -inkey private.key -out .keystore -name tomcat

에러가 난다면 openssl.exe를 관리자 권한으로 실행 하기

정상.

C:\OpenSSL\bin\.keystore 파일생성 확인

 

8. 톰캣\conf\server.xml 수정 ( 아래코드 추가 )

    <Connector SSLEnabled="true" clientAuth="false"
	keystoreFile="C:/OpenSSL/bin/.keystore"
	keystorePass="test" maxThreads="150" port="443"
	protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS" />

keystorepass = 생성시 비밀번호

keystorefile = .keystore 위치

 

 

참고

namjackson.tistory.com/24

namjackson.tistory.com/25

www.sslcert.co.kr/guides/Tomcat-SSL-Certificate-Install

 

 

*** 순서

1. 개인키 생성 genrsa -out private.key 2048
2. 공개키 생성 rsa -in private.key -pubout -out public.key
3. CSR 생성 req -config C:\OpenSSL\bin\openssl.cnf -new -key private.key -out private.csr
4. CRT 생성 (키 생성) genrsa -aes256 -out rootCA.key 2048
5. CRT 생성 (CSR 생성) req -config C:\OpenSSL\bin\openssl.cnf -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.pem
6. CRT 생성 (CRT 생성) x509 -req -in private.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out private.crt -days 3650
7. keystore 생성 pkcs12 -export -in private.crt -inkey private.key -out .keystore -name tomcat

 

 

 

끗!@#@#%ㄲ@#$

반응형