>Java >java지도 시간 >'sun.security.provider.certpath.SunCertPathBuilderException: 요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'를 해결하는 방법은 무엇입니까?

'sun.security.provider.certpath.SunCertPathBuilderException: 요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 19:18:12358검색

How to Resolve

"sun.security.provider.certpath.SunCertPathBuilderException: 요청한 대상에 대한 유효한 인증 경로를 찾을 수 없음" 예외 해결

제공된 코드 HTTPS 서버에서 파일을 다운로드하려고 시도했지만 인증서 관련 오류가 발생했습니다. 이 오류는 서버가 클라이언트의 JVM에서 신뢰하지 않는 자체 서명된 인증서를 제공할 때 자주 발생합니다.

이 문제를 해결하려면 클라이언트에 서버의 인증서를 신뢰하도록 지시할 수 있습니다. 방법은 다음과 같습니다.

브라우저를 사용하여 서버 인증서 가져오기

  1. 브라우저에서 HTTPS 서버를 방문하세요.
  2. 에서 자물쇠 아이콘을 클릭하세요. 주소 표시줄을 클릭하고 인증서 세부정보를 확인하세요.
  3. 인증서를 일반적으로 다음과 같은 파일로 내보냅니다. .cer 또는 .crt 확장자.

JVM의 Truststore에 인증서 추가

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

  • 편집 JAVA_HOME/jre/lib/security/cacerts:

    1. Java keytool 유틸리티를 사용하여 /JAVA_HOME/jre/lib/security/에 있는 cacerts 파일을 엽니다.
    2. -importcert 명령을 사용하여 내보낸 인증서를 가져옵니다. 예:

      keytool -keystore cacerts -importcert -file my_server_cert.cer
  • -Djavax.net.ssl.trustStore 매개변수를 사용하세요.

    다음을 수행할 수 있습니다. Java 시스템을 설정하여 다른 신뢰 저장소 위치를 지정합니다. 속성:

    java -Djavax.net.ssl.trustStore=/path/to/my_truststore

참고: cacerts 파일의 위치에 영향을 미치므로 올바른 JDK/JRE 버전을 사용해야 합니다.

인증서를 신뢰하면 신뢰할 수 있는 CA가 없더라도 클라이언트가 서버와 통신할 수 있는 권한을 부여하게 됩니다. 그러나 서버의 인증서를 신뢰할 수 없는 경우 보안 위험이 발생할 수 있다는 점에 유의하는 것이 중요합니다.

위 내용은 'sun.security.provider.certpath.SunCertPathBuilderException: 요청한 대상에 대한 유효한 인증 경로를 찾을 수 없습니다'를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.