Java 클라이언트에서 자체 서명된 SSL 인증서 처리
자체 서명되거나 만료된 SSL 인증서를 사용하여 서버에 연결할 때 Java 클라이언트는 일반적으로 인증서에 대한 신뢰 부족으로 인해 오류가 발생합니다. 이 문제를 해결하려면 자체 서명된 인증서를 JVM의 신뢰 저장소에 추가하거나 모든 인증서를 신뢰하도록 클라이언트를 구성하면 됩니다.
옵션 1: 신뢰 저장소 가져오기
<JAVA_HOME>\bin\keytool -import -v -trustcacerts \ -alias server-alias -file server.cer \ -keystore cacerts.jks -keypass changeit \ -storepass changeit
옵션 2: 인증서 유효성 검사 비활성화
경고: 이는 권장되지 않습니다. SSL 보안을 손상시킵니다.
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }; // Install the trust manager SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
URL url = new URL("https://hostname/index.html");
SSL 무결성을 유지하려면 옵션 #1을 선호합니다. 또한 최적의 보안을 위해 신뢰할 수 있는 CA가 서명한 인증서를 서버에서 획득하도록 하는 것이 좋습니다.
위 내용은 Java 클라이언트는 자체 서명된 SSL 인증서를 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!