Spring 어플리케이션에서 PKIX에러가 발생하는 경우 인증서에 관한 문제일 가능성이 높다.
리눅스 환경에서 URL에 대한 인증서 유효기간 검색 방법을 알아보고 그것을 갱신하는 방법에 대해 알아보자.
URL을 확인하고 아래 명령어 실행.
명령어
echo | openssl s_client -servername [url:port] -connect [url:port] 2> /dev/null | openssl x509 -noout -dates
output
notBefore=Dec 11 10:24:06 2022 GMT
notAfter=Dec 6 10:24:06 2023 GMT
리눅스 Keytool을 사용하면 간단하게 인증서를 등록할 수 있다.
명령어
keytool -importcert -alias "alias명" -keystore "keystore위치" -file "인증서파일 위치" -storepass "keystore비밀번호"
해당 URL의 인증서를 받을 수 없는 경우 직접 인증서를 추출 할 수 있다. (항상 되는 것은 아니다.)
명령어
openssl s_client -connect url:port | tee certlog
위 명령어를 바로 수행해도 괜찮고 파일로 추출하여 열어보면 인증서에 대한 정보가 담겨있다.
위 명령어를 통해 받은 정보
...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
...
이중 "-----BEGIN CERTIFICATE-----" 부터 "-----END CERTIFICATE-----" 까지가 인증서임으로, 복사하여 별도의 파일에 저장한다.