자체 서명 인증서를 사용하여 웹사이트에 연결을 설정하려고 할 때 서명된 인증서가 있는 경우 인증서 확인 실패로 인해 Java 애플리케이션에 오류가 발생할 수 있습니다. 이 문서에서는 특정 요구 사항을 준수하면서 이 문제를 해결할 수 있는 솔루션을 제시합니다.
권장되는 접근 방식은 신뢰할 수 있는 자체 서명 인증서가 포함된 사용자 정의 SSLSocketFactory를 생성하는 것입니다. 이를 통해 애플리케이션은 특정 연결에 대한 인증서를 선택적으로 신뢰할 수 있습니다. 구현 방법은 다음과 같습니다.
자체 서명된 인증서가 포함된 KeyStore를 로드합니다.
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(trustStore, trustStorePassword); trustStore.close();
초기화할 TrustManagerFactory 생성 TrustManagers:
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(keyStore);
SSLContext를 초기화하고 SSLSocketFactory를 얻습니다.
SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(null, tmf.getTrustManagers(), null); sslFactory = ctx.getSocketFactory();
다음을 사용하여 HttpsURLConnection을 구성합니다. SSLSocketFactory:
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslFactory);
위 내용은 특정 Java 연결에 대해 자체 서명된 인증서를 어떻게 신뢰할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!