# 인증서 발급
keytool -genkey -alias sslstore -keyalg RSA -keystore sslstore.jks
keytool -genkey -alias sslstore -keyalg RSA -keystore sslstore.pkcs12 -storetype pkcs12
keytool -list -v -keystore sslstore.pkcs12
keytool -export -alias sslstore -keystore sslstore.pkcs12 -rfc -file ssltera.cer
keytool -import -alias ssltrust -file ssltera.cer -keystore ssltrust.pkcs12
# 스프링 부트 설정
- application.yml 설정
server:
port: 8443
ssl:
enabled: true
protocol: TLS
key-store-type: JKS
key-alias: ayokeystore
key-store: classpath:ssl/sslstore.pkcs12
key-store-password: [비밀번호]
key-password: [비밀번호]
trust-store: classpath:ssl/sslstore.pkcs12
trust-store-password: [비밀번호]
# 에러 발생 케이스
1. http -> https 호출시 에러 발생
- 해결 20230408
RestTemplate 설정 변경
: HttpClient를 사용하여 아래와 같이 처리함
1) 모든 인증서 신뢰 가능 처리
2) 호스트명 유효성 검사 비활성화 처리
HttpClient : HTTP 클라이언트 라이브러리
RestTemplate : Spring F/W HTTP 클라이언트
HttpComponentsClientHttpRequestFactory : Spring에서 RestTemplate이 HttpClient를 사용할 수 있도록 함
RequestFactory | HTTP Client |
HttpComponentsClientHttpRequestFactory | HttpClient |
SimpleClientHttpRequestFactory | URLConnection |