Https协议用于在保密性要求高的环境中。
Https基于Http协议,在Http协议中加了一层封装,加入SSL/TLS协议。
使用SSL会用到JSSE(Java Secure Socket Extension),JSSE对Java访问SSL和TLS协议都做了封装。
图 1. JSSE相关类之间的关系
安全套接字程序编写的方法
使用 Java 编写安全套接字程序,可以遵循一定的方法,如图 1 所示,展示了相关的各个类之间的关系。其中 Keystore、KeyManagerFactory、TrustManagerFactory、SSLContext 可以称之为“引擎类”(engine class),对它们指定特定的参数 ( 例如:协议、算法等 ),就可以产生符合我们要求的,用于编程的对象实例。
编程的步骤可以简单的小结为以下几步:
1. 使用 Keystore 类将证书库或信任库文件加载进来;
2. 使用 KeyManagerFactory 和加载了证书库的 Keystore 实例,产生 KeyManager 实例数组;
3. 使用 TrustManagerFactory 和加载了信任库的 Keystore 实例,产生 TrustManager 实例数组;
4. 使用 SSLContext 初始化 KeyManager 实例数组和 TrustManager 实例数组,从而设定好通信的环境。
5. 利用 SSLContext 产生的 SSLSocket 或 SSLServerSocket 进行通信。
SSL认证
分为单向认证和双向认证。
单向认证是客户端信任服务端,双向认证是客户端既要信任服务端而且服务端也要信任客户端。
不管是客户端还是服务端,都要存以下两样keystore。
KeyStore:保存自己的公钥和私钥。
Trust KeyStore:保存对方的公钥证书。
如果是单向认证,服务器端的KeyStore存储自己的公钥和私钥,客户端的Trust KeyStore要导入服务器端的公钥证书。
如果是双向认证,在上面的基础上,客户端的KeyStore存储自己的公钥和私钥,服务器端的Trust KeyStore要导入客户端的公钥证书。
相关推荐
用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看 用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看 用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看
JAVA实现的调用梦网云通讯平台API接口实现短信发送Demo。详情请见 https://blog.csdn.net/LANSHANZHUYAO/article/details/88979026
1E通信 java与PLC通信 源码文件类型:程序源代码主要功能: 本实例基于Melsec A-1E TCP协议,采用JAVA语言编写上位机软件实现Socket与三菱 MC系列PLC通讯,实例中通过发送指令实现与PLC的通讯握手,PLC寄存器数据的...
主要功能: 本实例基于OMRON Fins TCP协议,采用JAVA语言编写上位机软件实现Socket与OMRON CP系列PLC通讯,实例中通过发送指令实现与PLC的通讯握手,PLC寄存器数据的读取、PLC寄存器数据的写入等功能。 适合人群:...
设计一款仿QQ的个人用户即时通讯软件,能够实现注册,登陆,与好友聊天等功能。要求使用GUI界面设计,网络通信,数据库连接,泛型容器等技术。 详细介绍参考:...
使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...
java博网即时通讯软件的设计与实现源码包含数据库,下载安装即用。 Server方面: 1 运行监控,打开Server,执行对其它用户的监控。 2 关闭监控,关闭Server,不在对其它用户进行监控。 3 阅览用户信息,阅览已...
Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器地址 ...
基于JAVA的网络通讯系统设计与实现(系统) https://blog.csdn.net/dearmite/article/details/131799642 2023年8月验证,无BUG 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有...
java + webrtc 实现的 视频聊天室 , 多对多的这个资源没有实现,这个资源只实现了一对一,后续的代码会在 github上持续更新 地址为: https://github.com/js1688/cat 成果展示地址:https://www.tanjun.xyz webrtc 真正...
最近在研究处理java写modbus RTU通信,分别使用几套工具,模拟modbus从站、模拟串口等才能正常在电脑测试成功。 全开源,放心下载 可以查看运行内容https://blog.csdn.net/weijia3624/article/details/121216539
使用Netty实现客户端和服务端之间的通讯 2. 使用Marshalling作为编解码技术 3. 游戏界面使用java自带的swing与awt进行编写 4. 使用Spring的依赖注入与java的反射机制简化了消息类型的判定 5. 使用Mysql数据库 6. ...
百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText();...
Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器地址 ...
Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器...
Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器...
Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 String serverAddr=jtfServer.getText(); //得到服务器...
这是用JAVA的SOCKET类实现的HTTP CLIENT的代码。通过它可以让原来很头疼的事情现在轻松的解决,例如你不再管是HTTP或者HTTPS的通讯方式,告诉它你想使用HTTPS方式,剩下的事情交给httpclient替你完成。
JAVA串口助手接收串口来的数据,并将数据解析存储入MySQL数据库中,在使用前串口需要有设备,同时自己创建数据库与数据表,见README
这个例子是java采集java S7-S200、java S7-300、java S7-400协义数据, 可以实现数据同步图表显示,并且可以写入数据, 以上全开源,一看就知道,请放心下载,已经使用在生产上 请浏览详情 ...