Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- APM
- Java
- CloudWatch
- AI
- mysql 튜닝
- Linux
- Elasticsearch
- kotlin spring
- 코틀린 코루틴의 정석
- 기록으로 실력을 쌓자
- Spring
- AWS EKS
- minikube
- 정보처리기사 실기 기출문제
- CKA
- kotlin coroutine
- kotlin
- IntelliJ
- 정보처리기사실기 기출문제
- 공부
- 정보처리기사 실기
- CKA 기출문제
- PETERICA
- Kubernetes
- aws
- MySQL
- kotlin querydsl
- 오블완
- Pinpoint
- 티스토리챌린지
Archives
- Today
- Total
피터의 개발이야기
[Spring] SSL 접속시, PKIX path building failed 오류 해결방법 본문
Programming/Spring
[Spring] SSL 접속시, PKIX path building failed 오류 해결방법
기록하는 백앤드개발자 2024. 8. 12. 10:10반응형
ㅁ 들어가며
ㅇ Elasticsearch와 연동하는 작업 중에 SSL 인증서 에러가 발생하였다.
ㅇ 이를 분석하고 해결하는 과정을 글로 남긴다.
ㅁ 에러 내용
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ㅇ SSL 통신을 위해서는 인증서를 교환해야하지만, 인증서를 찾을 수 없다는 에러 메시지이다.
ㅇ [Elasticsearch] Elasticsearch + Kibana 설치하기 with Docker에서 curl로 통신 테스트한 내용이다.
$ curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200
ㅇ 통신 테스트 성공 시 crt 인증서로 https 통신을 하였다.
ㅇ 해결책은 이 인증서를 java에게 인식하면 된다.
ㅁ 해결방법
Java keyStore의 위치 확인
# cacerts 저장소 위치 파악
$ file {java_home}/lib/security/cacerts
{java_home}/lib/security/cacerts: Java KeyStore
ㅇ Java keyStore의 위치를 파악한다.
ㅇ 나의 경우 {JAVA_HOME}/lib/security/cacerts에 위치하였다.
인증서 가져오기
# http_ca.crt 복사
$ docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
keytool명령어로 인증서 추가
$ keytool -import -alias elasticsearch -keystore \
/Users/seodong-eok/Library/Java/JavaVirtualMachines/jbr-17.0.9/Contents/Home/lib/security/cacerts -file http_ca.crt -storepass changeit
Owner: CN=Elasticsearch security auto-configuration HTTP CA
Issuer: CN=Elasticsearch security auto-configuration HTTP CA
Serial number: 1265a50eea06ec0c1f42cb9b53e166a71ed16b5d
Valid from: Thu Aug 01 15:31:40 KST 2024 until: Sun Aug 01 15:31:40 KST 2027
Certificate fingerprints:
SHA1: 7B:BA:B0:70:9A:A1:24:43:26:96:6F:6B:5D:B8:32:FB:96:2F:D7:77
SHA256: F1:8D:15:A7:BA:6F:3E:F2:19:14:EC:01:BB:74:69:4B:B3:6B:83:BE:0D:04:2E:4F:8B:34:C1:B9:A8:86:15:72
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
~~~~~~~~~~~~~~~~~
Trust this certificate? [no]: yes
Certificate was added to keystore
ㅁ 함께 보면 좋은 사이트
ㅇ javax.net.ssl.SSLHandshakeException
ㅇ Java 기반에서 SSL 접속시, PKIX path building failed 오류
ㅇ PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] springboot에 외부 JAR 추가하기 (0) | 2024.08.23 |
---|---|
[Spring] Spring Boot 시작 시 데이터베이스 초기화하기 (0) | 2024.08.19 |
[JPA] Spring JPA의 ddl-auto 기능, 데이터베이스 스키마 자동 관리하기 (0) | 2024.08.10 |
[Spring] Kotlin으로 JPA Querydsl 세팅 (0) | 2024.08.09 |
[Spring] Gradle 9.0 호환성 경고 해결하기, Deprecated Gradle features were used in this build (0) | 2024.08.08 |
Comments