5.3. SSL/TLS 选项
SSL/TLS 传输通过使用 amqps
URI 方案启用。因为 SSL/TLS 传输扩展了基于 TCP 的传输的功能,所以所有 TCP 传输选项都在 SSL/TLS 传输 URI 中有效。
示例:一个简单的 SSL/TLS 连接 URI
amqps://myhost.mydomain:5671
amqps://myhost.mydomain:5671
下面列出了完整的 SSL/TLS 传输选项。
- transport.keyStoreLocation
-
SSL/TLS 密钥存储的路径。如果未设置,则使用
javax.net.ssl.keyStore
系统属性的值。 - transport.keyStorePassword
-
SSL/TLS 密钥存储的密码。如果未设置,则使用
javax.net.ssl.keyStorePassword
系统属性的值。 - transport.trustStoreLocation
-
SSL/TLS 信任存储的路径。如果未设置,则使用
javax.net.ssl.trustStore
系统属性的值。 - transport.trustStorePassword
-
SSL/TLS 信任存储的密码。如果未设置,则使用
javax.net.ssl.trustStorePassword
系统属性的值。 - transport.keyStoreType
-
如果未设置,则使用
javax.net.ssl.keyStoreType
系统属性的值。如果未设置系统属性,则默认为JKS
。 - transport.trustStoreType
-
如果未设置,则使用
javax.net.ssl.trustStoreType
系统属性的值。如果未设置系统属性,则默认为JKS
。 - transport.storeType
-
将
keyStoreType
和trustStoreType
设置为相同的值。如果未设置,keyStoreType
和trustStoreType
默认为以上指定的值。 - transport.contextProtocol
-
获取 SSLContext 时使用的 protocol 参数。如果使用 OpenSSL,则默认为
TLS
或TLSv1.2
。 - transport.enabledCipherSuites
- 要启用的、以逗号分隔的密码套件列表。如果未设置,则使用 context-default 密码。任何禁用的密码都会从这个列表中删除。
- transport.disabledCipherSuites
- 要禁用的、以逗号分隔的密码套件列表。此处列出的密码已从启用的密码中删除。
- transport.enabledProtocols
- 要启用的以逗号分隔的协议列表。如果未设置,则使用上下文默认协议。所有禁用的协议都会从这个列表中删除。
- transport.disabledProtocols
-
要禁用的以逗号分隔的协议列表。此处列出的协议已从启用的协议列表中删除。默认为
SSLv2Hello,SSLv3
。 - transport.trustAll
- 如果启用,请隐式信任提供的服务器证书,无论任何配置的信任存储是什么。它默认是禁用的。
- transport.verifyHost
- 如果启用,请验证连接主机名是否与提供的服务器证书匹配。它会被默认启用。
- transport.keyAlias
- 需要向服务器发送客户端证书时从密钥存储中选择密钥对时使用的别名。
- transport.useOpenSSL
如果启用,在 SSL/TLS 连接中使用原生 OpenSSL 库(如果可用)。它默认是禁用的。
如需更多信息,请参阅 第 7.1 节 “启用 OpenSSL 支持”。