简介
在之前的文章中,我们讲到了怎么使用netty建立聊天室,但是这样的简单的聊天室太容易被窃听了,如果想要在里面说点悄悄话是很不安全的,怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息解密即可。
当然在netty中上述的工作都不需要我们手动来实现,netty已经提供了支持SSL的channel供我们选择,一起来看看吧。
PKI标准
在讲netty的具体支持之前,我们需要先了解一下公钥和私钥的加密标准体系PKI。PKI的全称是Public Key Infrastructure,也就是公钥体系。用于规范公钥私募进行加密解密的规则,从而便于不同系统的对接。
事实上PKI标准已经有两代协议了。
第一代的PKI标准主要是由美国RSA公司的公钥加密标准PKCS,国际电信联盟的ITU-T X.509,IETF的X.509,WAP和WPKI等标准组成。但是因为第一代PKI标准是基于抽象语法符号ASN.1进行编码的,实现起来比较复杂和困难,所以产生了第二代PKI标准。
第二代PKI标准是由微软、VeriSign和webMethods三家公司在2001年发布的基于XML的密钥管理规范也叫做XKMS。
事实上现在CA中心使用的最普遍的规范还是X.509系列和PKCS系列。
X.509系列主要由X.209、X.500和X.509组成,其中X.509是由国际电信联盟(ITU-T)制定的数字证书标准。在X.500基础上进行了功能增强, X.509是在1988年发布的。X.509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。
而PKCS是美国RSA公司的公钥加密标准,包括了证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。它定义了一系列从PKCS#1到PKCS#15的标准。
其中最常用的是PKCS#7、PKCS#12和PKCS#10。PKCS#7 是消息请求语法,常用于数字签名与加密,PKCS#12是个人消息交换与打包语法主要用来生成公钥和
Netty实现聊天加密通信

本文介绍了如何在Netty中使用SSL实现聊天的加密通信,包括PKI标准、证书后缀与转换,以及Netty中启动SSL Server和SSL Client的步骤。通过设置SslHandler,实现了客户端和服务器端的加密消息传输。
最低0.47元/天 解锁文章
1416

被折叠的 条评论
为什么被折叠?



