我是SSL和安全新手,我想爲使用SSL的Web服務構建Java客戶端。服務器正確配置爲使用雙向SSL配置,但如何建立客戶..如何通過SSL構建Web服務客戶端
也彷彿春天有什麼這將是很好的..提前
感謝
我是SSL和安全新手,我想爲使用SSL的Web服務構建Java客戶端。服務器正確配置爲使用雙向SSL配置,但如何建立客戶..如何通過SSL構建Web服務客戶端
也彷彿春天有什麼這將是很好的..提前
感謝
得到的東西的工作,你必須創建一個客戶端密鑰庫和信任,然後用這些商店定義的SSLContext,然後實例化的SSLSocketFactory產生的SSLSockets這樣的:
SSLContext sslcontext = SSLContexts.createDefault();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
sslcontext, SSLConnectionSocketFactory.STRICT_HOSTNAME_VERIFIER);
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(sslsf)
.build();
HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
你應該閱讀這http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html,瞭解它如何作品。
也是這個問題how to write java client and server applications that uses mutual ssl authentication between them?可能是有用的。
你不必對客戶端沒有什麼特別之處,只需在請求中使用HTTPS而不是HTTP。
確實如此,除非您使用不在默認JVM密鑰庫內的證書(例如,由公司特定的AC自簽名或發出)或密鑰對,如果OP使用2就我所知,默認的JVM密鑰庫沒有SSL客戶端身份驗證材料。 然後,使事情工作可能涉及額外的步驟,例如將證書和密鑰添加到默認的JVM密鑰庫,或者構建/使用特別配置的SSLSocketFactory實例。 – GPI
我不認爲這很簡單,你必須建立一個SSL會話,並提供你的證書到服務器一些如何 – monim
認證配置在服務器端 – paul