java客户端带证书访问服务端_客户端与服务器SSL双向认证(客户端:java-服务端:java)...

本文详细介绍了Java客户端与服务器进行SSL双向认证的实现过程,包括使用JSSE,生成KeyStore和Trust KeyStore,配置客户端和服务端证书,并提供运行结果和源码下载链接。
摘要由CSDN通过智能技术生成

客户端与服务器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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值