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