如今,数据隐私是一个非常值得关注的问题,作为开发人员,我们需要准备好应对它。至少,
我们应该熟悉像SSL和TLS①
Netty 的 OpenSSL/SSLEngine 实现
Netty 还提供了使用 OpenSSL 工具包(www.openssl.org)的 SSLEngine 实现。这个 OpenSslEngine 类提供了比 JDK 提供的 SSLEngine 实现更好的性能。
如果OpenSSL库可用,可以将Netty应用程序(客户端和服务器)配置为默认使用OpenSslEngine。
如
代码清单11-1展示了如何使用ChannelInitializer来将SslHandler添加到ChannelPipeline 中。回想一下,ChannelInitializer 用于在 Channel 注册好时设置 ChannelPipeline。
代码清单 11-1 添加 SSL/TLS 支持
在大多数情况下,SslHandler 将是 ChannelPipeline 中的第一个 ChannelHandler。
这确保了只有在所有其他的 ChannelHandler 将它们的逻辑应用到数据之后,才会进行加密。
SslHandler 具有一些有用的方法,如表 11-1 所示。例如,在握手阶段,两个节点将相互
验证并且商定一种加密方式。你可以通过配置 SslHandle