2013-02-02 348 views
0

我必須在java中創建一個客戶端,以便與服務器進行https連接。我有我的證書,我用我的瀏覽器登錄到網站。我如何在我的java客戶端上使用相同的證書? 我應該將它添加到密鑰庫嗎?證書java客戶端https

謝謝

新的信息: 服務器和客戶端都在同一臺主機 - >本地主機 客戶必須建立的HTTPS請求://本地主機:8183 創建用戶的證書類型:

$ ./build-key fg1 
$ openssl pkcs12 -export -out fg1.pfx -inkey fg1.key -in fg1.crt -certfile ca.crt -name default 

然後我做了

$ keytool -importkeystore -srckeystore fg1.pfx -srcstoretype pkcs12 -destkeystore VEPClientRestKeyStore.jks -srcalias default -destalias fg1 -destkeypass <mypassword> 

現在我真的lost.HOw CA ñ我使用此密鑰庫連接到服務器併發出請求? 再次感謝您。

+0

檢查在這裏:http://stackoverflow.com/questions/875467/java-client-certificates-over-https-ssl – kofemann

+0

@tigran爲什麼?沒有什麼關於如何從瀏覽器中獲取客戶端證書。 – EJP

回答

0

我最近編寫了一個blog post,附帶示例,在Android上這樣做,儘管在桌面上進行連接的代碼是相同的。

您基本上有兩種選擇 - 使用keytool將證書導入到java密鑰庫中(如tigran指向的帖子所示),或根據需要在內存中創建密鑰庫,如同我的博客文章中的示例。