- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Java
- docker
- redis
- LazyInitialization
- JPA
- 팀네이버 공채
- Project
- Spring Security
- JWT
- 만들면서 배우는 클린 아키텍처
- EntityTransaction
- container
- jenkins
- network
- websocket
- 팀네이버
- 프로젝트
- SPRING JWT
- infra
- 스프링
- 젠킨스
- spring
- chrome80
- 캐싱전략
- 책
- Kotlin
- 브랜치전략
- 후기
- 리뷰
- SpringBoot
PPAK
[Spring/SpringBoot] SpringBoot 로컬 서버 Https 적용 본문
자바는 기본적으로 KeyStore 와 KeyStoreSpi 클래스를 활용하여 인증서를 관리하는 방식을 제공합니다.
해당 클래스에서 사용되는 파일을 생성하는 keytool 커맨드는 jdk 에서 기본적으로 제공합니다. (OpenSSL 과 비슷)
본 포스팅에서는 keytool 을 활용하여 인증서를 생성하고 https 통신을 적용해보려고 합니다.
keytool -genkey -alias AN-keystore -storetype PKCS12 \
-keyalg RSA -keysize 2048 -keystore AN-keystore.p12 -validity 3650
-genkey: keytool 의 키 생성
-alias: keystore 별칭
-storetype: PKCS12, JKS 중 택 1 (자바에서는 Key 를 저장하는 두 가지 방식을 제공한다. PKCS12 는 OpenSSL 에서도 생성이 가능하기 때문에 해당 타입을 선택)
-keyalg: 키 암호화 알고리즘
-keysize: 키 길이
-keystore: keystore 이름(경로)
-validity: 유효기간
이후 여러가지 개인 정보를 묻는데 적절히 입력하면 된다.
입력한 경로에 keystore.p12 파일이 생성된 것을 확인할 수 있다.
SpringBoot 에 적용하기
key-store: keystore 파일 경로
key-store-type: keystoe 타입
key-alias: keystore 별칭
key-store-password: keystore 비밀번호
저의 경우에는 classpath 경로( main/resources) 에 포함시켜 빌드할 때 keystore 파일이 포함될 수 있도록 하였습니다.
class path 확인 방법
intellij project Structure 의 main package 확인
개발 환경에서는 여기까지만 해도 아래와 같이 https 가 적용된 메세지가 스프링 톰캣에 뜰 것 이고, 실제 배포 환경에서는 공인 인증서를 발급 받아서 사용하면 됩니다.
'spring' 카테고리의 다른 글
[Spring/JWT] Access Token 과 Refresh Token 을 어디에 저장하고 어떻게 교환해야 할까? (2) | 2022.08.27 |
---|---|
[Spring/Spring Boot] 서버 https 적용 (Certbot, Let's Encrypt) (0) | 2022.08.27 |
[Spring] Spring Security 에서 JWT 를 통한 인증/인가 수행하기 (7) | 2022.08.07 |
[Spring/SpringBoot] Spring Boot Layered Architecture (0) | 2022.07.31 |
[Spring/JPA] EntityManagerFactory, EntityManager, EntityTransaction 에 대해서 (0) | 2022.07.06 |