반응형
SSL로 접속해서 사용중에 인증서 오류가 발생했다.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target |
원인을 찾아보니
- 사설 인증서인 경우
- 신뢰할 수 있는 인증 기관이나, java에서 신뢰하지 않는 경우
로컬(postman)에서는 정상적으로 호출됨. java에서 신뢰하지 않는거 같다.
JAVA는 SSL인증서를 인증저장소(cacerts)에 있는 CA인증서로 신뢰성을 검증한다.
cacerts에 인증서를 등록해서 해결.
1. SSL 인증서를 다운로드 한다.
- linux에서 openssl를 이용해 다운로드 하는 방법과 window에서 chrome 브라우저로 다운로드 받는 방법
- chrome browser로 다운받음.
1-1. SSL 사이트 접속 & 인증서 다운로드
1-2. 인증서 변환(crt → cer)
- 리눅스는 CER 파일로 변환해서 저장한다.
- 다운받은 인증서를 더블 클릭 → 자세히 클릭 → 파일에 복사 클릭 → Base 64로 인코딩된 X_509(.CER) 선택
- 이름입력하고 저장
1-3. 변환된 인증서(cer)를 서버로 옮긴 후 keytool을 이용해서 저장소(cacerts)에 저장한다.
1-3. keytool 저장 시 패스워드는 changeit 이다.
1-4. 추가 할지 물어보면 y 입력
1-5. java 재기동 후 확인
끝
반응형
'Linux' 카테고리의 다른 글
urllib3 v2 only supports OpenSSL 1.1.1+ 오류 (0) | 2024.03.28 |
---|---|
linux(centOS)에서 python selenium 설치 (0) | 2024.03.27 |
mac m1에서 python selenium 설치 및 사용 (0) | 2024.03.27 |
certificate subject name "도메인명" does not match target host name "도메인명" 오류 (0) | 2023.09.21 |
linux 특정 프로세스 CPU, Memory 체크 shell 만들기 (0) | 2023.02.15 |