Windows 11 노트북에서 접속할 때는 인증서가 필요없이도 잘 접속이 되는데 도메인 URL을 통해 접속하는 리눅스 서버에서 443 포트로 접속하는 통신을 하려면 인증서가 필요하다.
# SSL 인증서 로컬 시스템에 등록 (Rocky 9)
PKCS12 (Public Key Cryptograhic Standards)의 줄임말로 패스워드로 보호된 형식으로써, 여러 인증서 및 키를 포함할 수 있다. Java뿐만 아니라 여러 플랫폼에서 사용 가능하다.
Letsencrypt 에서 얻는 키를 이용하여 생성하면 된다.
# PKC12생성하기 : Java KeyStore (keystore.p12)로 변환
SSL 인증서를 Spring Boot에 추가하여 HTTPS를 8080 포트에서 활성화하려면, 다음 단계를 따라 Java KeyStore (JKS) 또는 PKCS12 포맷으로 변환하고 설정해야 한다.
openssl pkcs12 -export -in cert1.pem -inkey privkey1.pem -out keystore.p12 -name tomcat -password pass:changeit
-export: PKCS12 파일을 생성
-in cert1.pem → 공개 인증서 파일
-inkey privkey1.pem → 개인 키 파일
-out keystore.p12 → 변환된 인증서 저장 위치
-name tomcat → 별칭(alias) 설정
-password pass:changeit → 비밀번호 설정 (Spring Boot 설정에서 동일하게 사용해야 함)
생성된 인증서를 위의 3번과 같이 Windows 11 환경의 IntelliJ IDEA 구동한
spring boot 프로젝트의 resources 폴더에 넣고 build 해서 생성된 파일을 리눅스 시스템에 업로드하면 된다.
'Spring Boot > Security' 카테고리의 다른 글
React 에서 axios 로 Spring Boot public-key 호출 (1) | 2025.03.09 |
---|---|
Spring Boot Security 적용 예시 화면 (0) | 2025.03.08 |
Spring Boot RSA 암호화/복호화 함수 (1) | 2025.03.04 |