HTTPS/SSL 연결을 위한 Java 클라이언트 인증서
Java 6에서 클라이언트 인증서를 사용하여 HTTPS 연결을 생성하려면 두 가지 프로세스가 필요합니다. 서버의 자체 서명된 루트 인증서를 신뢰 저장소에 넣고 시스템을 통해 클라이언트 인증서와 키 저장소 정보를 지정합니다.
서버의 루트 인증서 가져오기
자체 서명된 루트 인증서를 신뢰 저장소로 가져와야 합니다. 이는 다음 명령을 사용하여 수행할 수 있습니다:
keytool -import -alias gridserver -file gridserver.crt -storepass $PASS -keystore gridserver.keystore
클라이언트 인증서 정보 지정
클라이언트 인증서를 사용하려면 다음 시스템 속성을 설정해야 합니다.
-Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.keyStore=clientcertificate.p12 -Djavax.net.ssl.trustStore=gridserver.keystore -Djavax.net.debug=ssl # for verbose debugging -Djavax.net.ssl.keyStorePassword=$PASS -Djavax.net.ssl.trustStorePassword=$PASS
샘플 코드
다음 코드 샘플은 HTTPS 연결에 클라이언트 인증서를 사용하는 방법을 보여줍니다.
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); URL url = new URL("https://gridserver:3049/cgi-bin/ls.py"); HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslsocketfactory); InputStream inputstream = conn.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader(inputstream); BufferedReader bufferedreader = new BufferedReader(inputstreamreader); String string = null; while ((string = bufferedreader.readLine()) != null) { System.out.println("Received " + string); }
서버의 루트 인증서를 신뢰 저장소로 가져오고 필요한 클라이언트 인증서 정보를 지정하여, Java는 클라이언트 인증서와의 HTTPS 연결을 성공적으로 설정할 수 있습니다.
위 내용은 보안 HTTPS 연결을 위해 Java 클라이언트 인증서를 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!