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)...相关推荐
- java使用bks双向认证_客户端与服务器SSL双向认证(客户端:Android
客户端与服务器SSL双向认证(客户端Android-服务端vc)-含源码(一)服务端已经生成了client.p12.server.p12.ca.p12:主要实现客户端过程(二)目录结构(三)客户端注 ...
- QtJava笔记-Qt与Java进行SSL双向认证(Qt服务端,Java客户端)
程序运行截图如下: Qt作为服务端,Java作为客户端. 这里的服务端是用的p12证书,客户端使用的是jks. 具体的生成方式看以前的博文. QSSLServer.h #ifndef QSSLSERV ...
- HTTPS|SSL笔记-SSL双向认证失败(服务端证书信任库不含客户端证书)握手过程(含wireshark分析)
这里我把服务端信任库添加了其他证书,不含客户端的证书,这时SSL认证失败报错如下.下面来分析下: 1. 首先是TCP三次握手,对应的包如下: 2. 握手成功后,客户端发送自己支持的加密套,和随机数给服 ...
- java代码实现证书生成客户端证书 实现ssl双向认证
目的:实现web项目的ssl双向认证客户端证书代码生成. 使用openssl生成ca证书和服务端证书,当然也可以通过代码实现 1)创建CA私钥,创建目录ca openssl genrsa -out c ...
- 【ssl认证、证书】SSL双向认证java实战、keytool创建证书
文章目录 概述 keytool示例 参考 相关文章: //-----------Java SSL begin---------------------- [ssl认证.证书]SSL双向认证和SSL单向 ...
- java实现 SSL双向认证
http://avery-leo.iteye.com/blog/276096 实现技术: JSSE(Java Security Socket Extension) 是Sun为了解决在Internet上 ...
- JAVA实现发送HTTPS请求(SSL双向认证)
一.项目背景 Java项目需要作为客户端发起HTTPS请求访问服务端,并且需要携带证书进行SSL双向认证,当前提供的证书相关文件有:ca.crt.ca.key.client.crt.client.ke ...
- 什么是SSL双向认证,与单向认证证书有什么区别?
SSL/TLS 证书是用于用户浏览器和网站服务器之间的数据传输加密,实现互联网传输安全保护,大多数情况下指的是服务器证书.服务器证书是用于向浏览器客户端验证服务器,这种是属于单向认证的SSL证书.但是 ...
- java为属性提供访问器方法_关于继承:Java不继承访问器方法吗?
给定一个扩展了实现接口" DeeDum"的类" Foo"的类" Bar" public interface DeeDum { public ...
最新文章
- MySQL的information_schema
- Eclipse IDE for Enterprise Java Developers和JDK8与apache-tomcat-8下载地址
- 云端计算模型的MATLAB仿真与分析
- html中选择样式,html中css三种常见的样式选择器 zz
- java循环单链表比较相等_java的循环单链表
- python中正则表达式的使用
- Webservice学习之——即时发布与定制发布
- 使用php 发送邮件,使用PHPMailer实现邮件发送代码分享
- C++ 整型所能表示的数据范围
- iOS学习-字符串的删除替换
- 开发:KTV评分系统实现总结
- 分享9个超好用的免费工具/软件/网站(一定有你要的)
- layui实现表格合并单元格,设置不同背景色
- 神舟战神笔记本怎么U盘装Win10系统教学
- 研究生的压力应对与健康心理期末考试答案
- 算法笔记_203:第四届蓝桥杯软件类决赛真题(C语言B组)
- python日历类_Python 时间日历类型
- 工作中如何做好技术积累『转载-保持学习的空杯心态』
- Sql server mssqlserver 服务无法启动
- 端口扫描 -- PortScan
热门文章
- js根据当前时间,获取本周一和本周日
- 产品经理与用户体验研究的关系
- windows7英文版变成中文版教程
- 在Excel中使用SQL语言
- python3 爬虫日记(三) 爬取堆糖动态加载网页
- 2022-2028年中国低温阀门行业市场发展现状及竞争格局预测报告
- 五金切断模具结构和设计注意事项
- Windows 组策略修改 之 初始化文件 %windir%\inf\defltbase.inf
- 神经了的ODE:Neural Ordinary Differential Equations
- Ubuntu下包含2种远程桌面的方式:VINO-Server以及VNC Server