🚫 SSL 인증서 등록 관련 에러 발생
고객사 쪽의 API를 호출을 하고 있었는데, 이 사이트에 https를 적용하면서 정상적으로 호출이 되지 않고 아래와 같은 에러가 발생하였다. 이에 관련해서 조치한 내용을 정리하려고 한다.
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target;
아래의 내용은 위의 에러가 발생할 수 있는 원인이다.
java의 경우 자체 인증서 저장소를 가지고 있고 여기에 해당 https 사이트의 인증 기관이 등록이 되지 않은 경우
결론적으로 호출하는 사이트에서 인증 기관이 등록되지 않은 사설 인증서를 사용하는 경우에 발생할 수 있다고 한다.
😤 조치 내용
가장 먼저 SSL 인증서가 필요 하다. crt 확장자를 가진 파일이며 https 사이트에서 다운을 받거나 고객사와 테스트를 진행하고 있는 경우 SSL 인증서를 제공해 달라고 하면 된다.
1. keytool을 실행 하기 위해서 jre 경로로 이동해야 한다.
keytool은 따로 설치가 필요 없이 jre 또는 jdk에 포함되어 있음. :D
(CMD 창은 관리자 모드로 실행)
cd {JAVA_HOME}\jare\lib
2. keytool을 사용해서 JAVA 인증서 저장소에 인증서를 등록해 주면 된다.
아래와 같이 등록 하면 인증서를 등록하겠냐는 멘트에다가 "예"를 입력하게 되면 인증서 등록이 된다. :D
keytool.exe -import -alias {명칭} -keystore "{JAVA HOME}\jre\lib\security\cacerts" -storepass changeit -file "인증서 절대 경로"
ex) keytool.exe -import -alias testAlies -keystore "{JAVA HOME}\jre\lib\security\cacerts" -storepass changeit -file C:\test\test.crt
위의 방법을 통해서 인증서를 등록하고 다시 API를 호출하면 정상적으로 호출이 되는 것을 확인할 수 있다.
고객사 쪽과 연동으로 개발을 진행하다 보면 가끔 한 번씩 보는 에러인데 정리를 해놓은 내용이 있어서 올리게 되었다. :)
반응형
'이슈' 카테고리의 다른 글
[에러] The file at 'blob: url' was loaded over an insecure conection. This file should be serverd over HTTPS. (0) | 2023.08.30 |
---|