프로젝트에서 사용하는 기존 통신 프로토콜인 http는 보안성에서 취약하다는 단점이 있다 특히 온라인 결제와 같이 민감한 개인정보를 다루는 경우 이런 보안 문제는 사용자와 서비스에 큰 위협이 된다. 따라서 http에서 보안을 강화한 https를 쓸 것이다. https는 암호화 계층을 추가하여 데이터가 암호화된 상태로 전송되기 때문에 제 3자가 중간에 데이터를 훔쳐보는 것을 방지할 수 있다.
온라인 결제를 구현하려면 HTTPS를 통해 데이터 전송을 암호화하여 보안성을 확보해야 합니다. 아래 절차를 따라 Spring Boot 프로젝트에 HTTPS 설정을 적용할 수 있습니다.
HTTPS를 사용하기 위해서는 SSL 인증서가 필요합니다. 개발 환경에서는 자체 서명 인증서를 생성하여 사용할 수 있습니다.
bash
코드 복사
keytool -genkeypair -alias mycert -keyalg RSA -keystore keystore.p12 -storetype PKCS12 -validity 365 -keysize 2048
위 명령어를 입력하면 비밀번호와 기타 정보를 입력하라는 메시지가 나옵니다. 비밀번호는 잊지 않도록 기록해 두세요.
인증서 파일(keystore.p12
)이 생성됩니다. 이 파일을 프로젝트의 src/main/resources
폴더로 이동시킵니다.
Enter keystore password: 비밀번호 입력
Re-enter new password: 비밀번호 재입력
What is your first and last name?: 이름 입력
What is the name of your organizational unit?: 부서명 입력
What is the name of your organization?: 조직명 입력
What is the name of your City or Locality?: 도시명 입력
What is the name of your State or Province?: 주/도명 입력
What is the two-letter country code for this unit?: 국가 코드 입력 (예: KR)
<aside> 💡
</aside>
<aside>
파일 탐색기를 열어 C:\\Program Files\\Java
폴더로 이동합니다.
jdk-17
).bin
폴더를 찾습니다.bin
폴더가 포함된 위치로 이동합니다.
</aside>