20.2.3. 配置 Netty Secure Sockets Layer (SSL)
Netty TCP 是一个简单的、非加密的基于 TCP 套接字的传输协议。Netty SSL 和 Netty TCP 类似,但通过 SSL 加密 TCP 连接提供了增强的安全性。下面的例子展示了单向 SSL 的 Netty 配置:
如果您在配置双向 SSL 的 Netty(服务器和客户端间的相互验证),除了上面单向 SSL 例子里描述的参数外,还有三个额外的参数:
注意
下列参数大部分都既可以用于接收器也可以用于连接器。然而,一些参数只能用于接收器。参数描述解释了用于接收器和连接器间的区别。
<acceptors> <netty-acceptor name="netty" socket-binding="messaging"/> <param key="ssl-enabled" value="true"/> <param key="key-store-password" value="[keystore password]"/> <param key="key-store-path" value="[path to keystore file]"/> </netty-acceptor> </acceptors>
属性名 | 默认值 | 描述 |
---|---|---|
ssl-enabled | true | 这启用了 SSL |
key-store-password | [密钥库密码] | 当用于接收器时,这是服务器端密钥库的密码。而用于连接器时,这是客户端密钥库的密码。如果您使用双向 SSL(也就是相互验证),它只和连接器相关。这个值可以在服务器上配置,但也可由客户端下载并使用。 |
key-store-path | [密钥库文件的路径] | 当用于接收器时,这是保存服务器信任的所有客户的密钥的服务器端 SSL 密钥库的路径。如果您使用双向 SSL(也就是相互验证),它只和接收器相关。而用于连接器时,这是保存客户端信任的所有服务器的公共密钥的客户端 SSL 密钥库的路径。用于连接器时,它是客户端信任库的密码。这个路径可以在服务器上配置,但也可由客户端下载并使用。 |
need-client-auth
:指定客户连接需要双向验证(相互验证)。trust-store-password
:当用于接收器时,这是服务器端信任库的密码。而用于连接器时,这是客户端信任库的密码。它和单向和双向 SSL 的连接器都是相关的。这个值可以在服务器上配置,但也可由客户端下载并使用。trust-store-path
:当用于接收器时,这是保存服务器信任的所有客户的密钥的服务器端 SSL 密钥库的路径。而用于连接器时,这是保存客户端信任的所有服务器的公共密钥的客户端 SSL 密钥库的路径。它和单向和双向 SSL 的连接器都是相关的。这个路径可以在服务器上配置,但也可由客户端下载并使用。