透過HTTPS/SSL 的Java 客戶端憑證:演練
場景
場景場景
>Java 6 應用程式嘗試使用用戶端憑證與遠端伺服器建立HTTPS 連線。伺服器採用自簽名根證書,並要求提供受密碼保護的客戶端證書。
挑戰解決方案
keytool -import -alias <server_alias> -file <server_cert>.crt -storepass <password> -keystore <truststore_name>.keystore此解決方案需要三個步驟:
將伺服器憑證匯入信任庫:
伺服器的自簽章憑證必須匯入到信任庫中使用keytool實用程式的信任庫:-Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.keyStore=<client_cert>.p12 -Djavax.net.ssl.trustStore=<truststore_name>.keystore -Djavax.net.debug=ssl -Djavax.net.ssl.keyStorePassword=<password> -Djavax.net.ssl.trustStorePassword=<password>
設定JVM 屬性:
設定特定JVM 屬性以指定信任庫和金鑰路徑、密碼和類型:SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); URL url = new URL("https://<server_host>:<port>/cgi-bin/ls.py"); HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslsocketfactory);
以上是如何成功地將Java客戶端憑證與HTTPS/SSL結合使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!