java客户端带证书访问服务端_客户端与服务器SSL双向认证(客户端:java-服务端:java)...
客戶端與服務器SSL雙向認證(java-java):含源碼
(一)實現技術:
JSSE(Java Security Socket Extension)
是Sun為了解決在Internet上的實現安全信息傳輸的解決方案。它實現了SSL和TSL(傳輸層安全)協議。在JSSE中包含了數據加密,服務器驗證,消息完整性和客戶端驗證等技術。通過使用JSSE,可以在Client和Server之間通過TCP/IP協議安全地傳輸數據。
為了實現消息認證。
Server需要:
1)KeyStore: 其中保存服務端的私鑰
2)Trust KeyStore:其中保存客戶端的授權證書
Client需要:
1)KeyStore:其中保存客戶端的私鑰
2)Trust KeyStore:其中保存服務端的授權證書
(二)具體操作步驟:
使用Java自帶的keytool命令,去生成這樣信息文件:(C:\Program Files\Java\jdk1.6.0\bin里)
1)生成服務端私鑰,并且導入到服務端KeyStore文件中
命令:keytool -genkey -alias serverkey -keystorekeyOfServer.keystore
文件生成:C:\Users\zwp\AppData\Local\VirtualStore\Program Files\Java\jdk1.6.0\bin(視情況而定)
2)根據私鑰,導出服務端證書
命令:keytool -export -alias server -keystore keyOfServer.keystore ?-file e:\server.crt
(注意點:-file server.cer直接執行時候,由于jdk裝在c盤,為只讀,需要指定其他路徑即可(e:\server.cer))
3)生成client端密鑰
keytool)私-genkey -alias clientkey -keystore keyOfClient.keystore
4)私鑰導出客戶端證書
keytool -export -alias clientkey -keystore keyOfClient.keystore -file e:\client.crt
5)將服務端證書,導入到客戶端的Trust KeyStore中
keytool -genkey -alias clientkey -keystore keyOfClient.keystore
6)將客戶端證書加到服務端信任列表
keytool -import -alias serverkey -file e:\client.crt -keystore trustOfServer.keystore
(三)目錄結構
(四)注意地方
1.服務端:
2.客戶端:
(五)運行結果
客戶端:
Server Response: Hello
服務端:
=======Start Server !======
------Receive------
Client Test Running
======================================================================
源碼下載:http://download.csdn.net/detail/beihaizuopeng/5290739
參考:http://blog.csdn.net/chw1989/article/details/7584995
總結
以上是生活随笔為你收集整理的java客户端带证书访问服务端_客户端与服务器SSL双向认证(客户端:java-服务端:java)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 歌词解析器
- 下一篇: Day2--安装MediaWiki搭建自