`
geeksun
  • 浏览: 953038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java实现HTTPS通讯

 
阅读更多

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要导入客户端的公钥证书。

 

  • 大小: 41.8 KB
分享到:
评论

相关推荐

    用JAVA实现的即时通讯系统

    用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看 用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看 用JAVA实现的即时通讯系统,很经典,需要的朋友可以下下来看看

    JAVA调用梦网云通讯平台API实现短信发送

    JAVA实现的调用梦网云通讯平台API接口实现短信发送Demo。详情请见 https://blog.csdn.net/LANSHANZHUYAO/article/details/88979026

    java与Melsec A-1E通信 java与PLC通信 源码,java与三菱PLC JAVA与Melsec A-1通信

    1E通信 java与PLC通信 源码文件类型:程序源代码主要功能: 本实例基于Melsec A-1E TCP协议,采用JAVA语言编写上位机软件实现Socket与三菱 MC系列PLC通讯,实例中通过发送指令实现与PLC的通讯握手,PLC寄存器数据的...

    java与Omron Fins通信源码 java与欧姆龙PLC通信 全开源 springboot与欧姆龙PLC fins通信

    主要功能: 本实例基于OMRON Fins TCP协议,采用JAVA语言编写上位机软件实现Socket与OMRON CP系列PLC通讯,实例中通过发送指令实现与PLC的通讯握手,PLC寄存器数据的读取、PLC寄存器数据的写入等功能。 适合人群:...

    基于Java的仿qq即时通讯软件设计与实现.zip

    设计一款仿QQ的个人用户即时通讯软件,能够实现注册,登陆,与好友聊天等功能。要求使用GUI界面设计,网络通信,数据库连接,泛型容器等技术。 详细介绍参考:...

    Android WebSocket实现即时通讯功能

    使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...

    java博网即时通讯软件的设计与实现.zip

    java博网即时通讯软件的设计与实现源码包含数据库,下载安装即用。 Server方面: 1 运行监控,打开Server,执行对其它用户的监控。 2 关闭监控,关闭Server,不在对其它用户进行监控。 3 阅览用户信息,阅览已...

    java源码包---java 源码 大量 实例

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器地址  ...

    基于JAVA的网络通讯系统设计与实现(系统)

    基于JAVA的网络通讯系统设计与实现(系统) https://blog.csdn.net/dearmite/article/details/131799642 2023年8月验证,无BUG 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有...

    java + webrtc 视频聊天室,一对一,多对多,文件传输

    java + webrtc 实现的 视频聊天室 , 多对多的这个资源没有实现,这个资源只实现了一对一,后续的代码会在 github上持续更新 地址为: https://github.com/js1688/cat 成果展示地址:https://www.tanjun.xyz webrtc 真正...

    java读写Modbus RTU数据,java串口modbus通信,Modbus RTU与java通信 全开源

    最近在研究处理java写modbus RTU通信,分别使用几套工具,模拟modbus从站、模拟串口等才能正常在电脑测试成功。 全开源,放心下载 可以查看运行内容https://blog.csdn.net/weijia3624/article/details/121216539

    基于Java和Netty实现的联机版坦克大战游戏.zip

    使用Netty实现客户端和服务端之间的通讯 2. 使用Marshalling作为编解码技术 3. 游戏界面使用java自带的swing与awt进行编写 4. 使用Spring的依赖注入与java的反射机制简化了消息类型的判定 5. 使用Mysql数据库 6. ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

    JAVA上百实例源码以及开源项目源代码

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器地址  ...

    java源码包4

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    java源码包3

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    java源码包2

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    Java_Http_Client.rar_client java_https client_java ht_java sock

    这是用JAVA的SOCKET类实现的HTTP CLIENT的代码。通过它可以让原来很头疼的事情现在轻松的解决,例如你不再管是HTTP或者HTTPS的通讯方式,告诉它你想使用HTTPS方式,剩下的事情交给httpclient替你完成。

    JAVA串口助手接收数据并解析数据存入MySQL数据库中

    JAVA串口助手接收串口来的数据,并将数据解析存储入MySQL数据库中,在使用前串口需要有设备,同时自己创建数据库与数据表,见README

    java与PLC通信,java读写S7-S200、S7-300、S7-400

    这个例子是java采集java S7-S200、java S7-300、java S7-400协义数据, 可以实现数据同步图表显示,并且可以写入数据, 以上全开源,一看就知道,请放心下载,已经使用在生产上 请浏览详情 ...

Global site tag (gtag.js) - Google Analytics