Spring boot local https를 위한 사설인증서 적용

Intae Lim·2022년 3월 2일
0

1. Keystore 생성

-alias <alias>          처리할 항목의 별칭 이름
-keyalg <alg>           키 알고리즘 이름
-keysize <size>         키 비트 크기
-groupname <name>       Group name. For example, an Elliptic Curve name.
-sigalg <alg>           서명 알고리즘 이름
-destalias <alias>      대상 별칭
-dname <name>           식별 이름
-startdate <date>       인증서 유효 기간 시작 날짜/시간
-ext <value>            X.509 확장
-validity <days>        유효 기간 일 수
-keypass <arg>          키 비밀번호
-keystore <keystore>    키 저장소 이름
-storepass <arg>        키 저장소 비밀번호
-storetype <type>       키 저장소 유형
-providername <name>    제공자 이름
-addprovider <name>     이름별 보안 제공자 추가(예: SunPKCS11)
  [-providerarg <arg>]    -addprovider에 대한 인수 구성
-providerclass <class>  전체 클래스 이름별 보안 제공자 추가
  [-providerarg <arg>]    -providerclass에 대한 인수 구성
-providerpath <list>    제공자 클래스 경로
-v                      상세 정보 출력
-protected              보호되는 메커니즘을 통한 비밀번호
$ {JAVA_PATH}/bin/keytool -genkey 
    -alias lim_https_ssl 
    -keypass 12345! 
    -storepass 12345! 
    -storetype PKCS12 
    -keyalg RSA 
    -keystore C:\Users\limintae\dev\https_ssl\.keysotre

2. cer 생성

$ {JAVA_PATH}/bin/keytool -export 
    -alias lim_https_ssl 
    -storepass 12345! 
    -file C:\Users\limintae\dev\https_ssl\server.cer 
    -keystore C:\Users\limintae\dev\https_ssl\.keysotre

3. 인증서(*.cer)를 .keystore에 추가

$ keytool -import -v -trustcacerts 
    -alias lim_https_ssl 
    -file C:\Users\limintae\dev\https_ssl\server.cer 
    -keystore C:\Users\limintae\dev\https_ssl\.keystore 
    -keypass 12345! 
    -storepass 12345!

4. Spring boot properties 적용

server.address=localhost
server.port=8080
server.ssl.enabled=true
server.ssl.key-store=.keystore
server.ssl.key-store-password=12345!
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=lim_https_ssl
profile
Backend Developer.

0개의 댓글