SunCertPathBuilderException: Java에서 요청된 대상 오류에 대한 유효한 인증 경로를 찾을 수 없음
-
Java에서
sun.security.provider.certpath.SunCertPathBuilderException
이란 무엇입니까? -
sun.security.provider.certpath.SunCertPathBuilderException: 요청된 대상에 대한 유효한 인증 경로를 찾을 수 없음
의 원인 -
sun.security.provider.certpath.SunCertPathBuilderException: 요청된 대상에 대한 유효한 인증 경로를 찾을 수 없음
의 솔루션
오늘 게시물에서는 요청한 대상에 대한 유효한 인증 경로를 찾을 수 없음
의 잠재적인 이유와 Java에서의 솔루션에 대해 논의합니다.
그러나 계속하기 전에 SSL 인증서에 대한 명확한 이해가 필요하므로 SSL 암호화 및 인증서를 명확하게 이해해야 합니다.
SSL 암호화 및 인증서: SSL 인증서가 없으면 HTTPS 연결이 제대로 작동하지 않습니다. 일련의 공개 및 개인 키를 사용하여 서비스 또는 웹 사이트의 주장된 ID를 입증합니다.
개인 키는 도메인에서 제공하는 모든 것을 암호화하거나 서명하고 클라이언트 앱은 공개 키를 활용하여 식별을 검증합니다.
Java에서 sun.security.provider.certpath.SunCertPathBuilderException
이란 무엇입니까?
sun.security.provider.certpath.SunCertPathBuilderException
은 Java 프로그램이 연결을 시도하는 서버의 SSL 인증서를 확인하는 Java 예외 처리용 클래스입니다. 이 클래스는 인증서를 만든 공급자의 이름을 따서 명명되었습니다.
다음은 이 문제가 발생할 때 개발자에게 표시되는 오류 메시지입니다.
Caused by : sun.security.provider.certpath.SunCertPathBuilderException
: unable to find valid certification path to requested target
SSL을 사용하여 암호화된 서비스를 방문하는 것과 관련된 모든 작업 중에 발생할 수 있습니다.
SSL 보호 API 및 웹사이트는 액세스하기 전에 Java 프레임워크에서 신뢰성을 확인합니다. 이것은 서명된 루트 인증 기관이 거기에 있는지 확인하기 위해 내부 신뢰할 수 있는 목록을 검사하여 수행됩니다.
서비스에 대한 참조를 찾을 수 없는 경우 Java에서 이 오류가 발생합니다. 자체 서명된 인증서를 사용하여 다른 사람의 디지털 서명으로 서명된 서비스에 액세스하면 항상 실패합니다.
sun.security.provider.certpath.SunCertPathBuilderException: 요청된 대상에 대한 유효한 인증 경로를 찾을 수 없음
의 원인
Java가 SSL을 통해 다른 프로그램에 연결할 수 있는 유일한 방법은 HTTPS 등을 신뢰할 수 있는 경우입니다. 일반적으로 신뢰 인증서를 저장하는 Java 세계에는 $JAVA HOME/lib/security/cacerts
신뢰 저장소가 있습니다.
이 예외는 자체 서명된 인증서 또는 Java 신뢰 저장소에 없는 인증서 체인에 의해 트리거됩니다. Java는 인증서를 신뢰하지 않기 때문에 애플리케이션 연결을 거부합니다.
sun.security.provider.certpath.SunCertPathBuilderException: 요청된 대상에 대한 유효한 인증 경로를 찾을 수 없음
의 솔루션
-
먼저 문제의 원인이 인증서인지 네트워크인지 확인합니다. 이를 확인하려면 Google Chrome 또는 선호하는 브라우저에서 URL을 열고 작동하는지 확인하십시오.
이 경우 애플리케이션 클라이언트의 유효하지 않은 인증서 설정이 예외의 원인이어야 합니다. 브라우저에서 액세스할 수 없는 경우 방화벽 또는 네트워크 설정 문제가 있을 수 있습니다.
-
인증서 설정에 문제가 있는지 확인한 후 서버의 SSL 인증서를 가져옵니다. 이것은 가장 단순한 상황에서 루트 인증서일 수 있지만 대부분의 경우 인증서 체인과 중간 인증 기관이 필요합니다.
아래 단계에 따라 SSL 인증서 유효성을 확인할 수 있습니다.
-
브라우저를 열고 왼쪽 상단 모서리에 있는 자물쇠를 클릭합니다.
-
그런 다음
연결이 안전합니다
를 클릭합니다. -
마지막으로 유효한 경우 사이트의 상태를 알 수 있습니다.
- 인증서 세부 정보를 내보내려면 다음 단계를 따르십시오.
-
URL 표시줄 옆에 있는 자물쇠 기호를 선택한 다음
연결이 안전함
>인증서가 유효함
을 클릭합니다. -
세부 정보
섹션을 클릭하고파일에 복사
버튼을 클릭하여 인증서를 내보냅니다. -
DER
로 인코딩된 바이너리를 내보냅니다. -
저장할 디렉토리를 선택하고 파일 이름을 지정하십시오.
-
마침
을 클릭하면내보내기에 성공했습니다
라는 메시지가 표시됩니다.
-
새 인증서로 신뢰 저장소 항목을 시작하십시오. 키 도구 유틸리티를 사용하여 이를 수행할 수 있습니다.
다음 명령을 실행하여 새 트러스트 저장소를 만듭니다.
keytool - import - file C :\cascerts\firstCA.cert - alias firstCA - Keystore myTrustStore
-
프로세스를 완료하려면 프로그램을 다시 시작하십시오.
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn