> Java > java지도 시간 > 내 Java 프로그램이 '요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'라는 메시지와 함께 HTTPS 파일을 다운로드하지 못하는 이유는 무엇입니까?

내 Java 프로그램이 '요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'라는 메시지와 함께 HTTPS 파일을 다운로드하지 못하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-20 18:12:16
원래의
356명이 탐색했습니다.

Why Does My Java Program Fail to Download HTTPS Files with

요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다

Java를 통해 HTTPS 서버에서 파일을 다운로드할 때 다음 오류가 발생할 수 있습니다. :

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
로그인 후 복사

이해하기 오류

이 오류는 클라이언트-서버 인증에 문제가 있음을 나타냅니다. HTTPS 서버는 인증서를 사용하여 보안 연결을 설정합니다. 다운로드를 진행하려면 클라이언트(Java 프로그램)가 서버의 인증서를 신뢰해야 합니다.

가능한 원인: 서버에 자체 서명된 인증서가 있습니다

자체 서명된 인증서는 다음과 같습니다. 신뢰할 수 있는 기관에서 발급되지 않았습니다. Java의 기본 신뢰 저장소에는 이러한 인증서가 포함되어 있지 않아 인증 실패가 발생합니다.

해결 방법

클라이언트-서버 인증을 무시하려면 서버의 인증서를 Java 저장소에 추가하면 됩니다. 신뢰 가게. 방법은 다음과 같습니다.

1. 인증서 받기:

  • 브라우저를 사용하여 웹사이트로 이동하세요.
  • 주소 표시줄의 자물쇠 아이콘을 클릭하세요.
  • "인증서"를 선택하세요. 인증서를 CER 또는 CRT로 내보냅니다. 파일.

2. Trust Store에 인증서를 추가합니다.

이 작업을 수행하는 방법에는 두 가지가 있습니다.

a. keytool 사용:

  • 명령 프롬프트를 엽니다.
  • JAVA_HOME/jre/lib/security로 이동합니다.
  • 다음 명령을 실행합니다.
keytool -import -trustcacerts -alias myalias -file certificate.cer
로그인 후 복사

ㄴ. -D 매개변수 사용:

  • 다음 매개변수를 사용하여 Java 애플리케이션을 실행합니다.
-Djavax.net.ssl.trustStore=mytruststore.jks
로그인 후 복사

3. Certificate.cer 및 mytruststore.jks를 실제 파일 이름으로 바꾸십시오.

신뢰 저장소에 인증서를 추가한 후 Java 프로그램은 인증 오류 없이 HTTPS 서버에서 파일을 다운로드할 수 있어야 합니다. .

위 내용은 내 Java 프로그램이 '요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'라는 메시지와 함께 HTTPS 파일을 다운로드하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿