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

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java实现Modbus RTU通讯,你可以使用modbus4j库。首先,你需要准备好串口环境,可以使用virtual serial port driver来模拟串口环境\[1\]。Modbus是一种串行通信协议,包括RTU、ASCII和TCP三种形式,其中MODBUS-RTU是最常用的\[2\]。 在Java中使用modbus4j库进行Modbus RTU通讯,你可以使用modbus4j的SerialPortWrapper接口的实现类。推荐使用Freedomotic中的三个类来实现SerialPortWrapper接口,它们分别是SerialPortWrapperImpl.java、SerialInputStream.java和SerialOutputStream.java\[3\]。 通过使用modbus4j库和相应的实现类,你可以在Java中轻松地实现Modbus RTU通讯。 #### 引用[.reference_title] - *1* *3* [Java串口通讯Modbus Rtu](https://blog.csdn.net/james112496/article/details/125462694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [java利用socket通信实现Modbus-RTU通信协议](https://blog.csdn.net/qq_40042416/article/details/115672989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值