본문 바로가기
Spring Boot/etc

[SSL 인증서] 인증서 적용하고 Https 통신하자!

by Lee David 2022. 2. 15.
반응형

먼저 Https 통신을 알아 보겠습니다.

Hypertext Transfer Protocol (HTTP) + Secure Socket Layer (SSL) + Transport Layer Security (TLS) protocol

-> Https 통신을 하는것을 의미 합니다.

즉 SSL 인증서를 통해 암호화된 통신을 하는 것을 TLS라고 말하는데 명시적으로나 대중적으로 SSL 통신을 한다고 많이 알려져 있습니다.

그렇다면 이 Http 통신으로 충분한데 TLS/SSL이 왜 필요한지 정리해 보면 해커나 Http 통신을 잘 아는 누군가가 브라우저와 서버의 통신을 해킹해서 평문으로 오고가는 데이터를 마구 잡이로 읽어 들이고 수집할 수 있게 되지만 이를 방지 할 수 있는게 Https 통신입니다.

 

1. keystore 사용해서 인증서 발급 받기

유료 인증서를 발급 받을 수 도 있지만 유료 인증서를 발급받지 않고 java가 설치 되어 잇다면 생성 가능 합니다.

keytool -genkey -alias [키 별칭] -keyalg RSA -keystore [파일명]

keystore 만들기 링크 추가 예정

2. Spring Boot 설정값 넣어주기
server:
    ssl:
        enabled: true
        key-alias: keystore
        key-store-type: JKS
        key-store: keystore.jks
        key-store-password: 키 생성시 사용된 비밀번호입니다.
        key-password: 키 생성시 사용된 비밀번호입니다.
        trust-store: keytrust.jks
        trust-store-password: 키 생성시 사용된 비밀번호입니다.
3. Https 포트 지정
server:
    port: https 포트
    http:
        port: http 포트
4. Https 설정 코드

 

반응형