5.3. SSL/TLS 选项
使用 amqps URI 方案启用 SSL/TLS 传输。由于 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 时所用的协议参数。默认值为
TLS,如果使用 OpenSSL,则默认为TLSv1.2。 - transport.enabledCipherSuites
- 要启用的密码套件的逗号分隔列表。如果未设置,则使用 context-default 密码。任何禁用的密码都会从此列表中移除。
- transport.disabledCipherSuites
- 要禁用的密码套件的逗号分隔列表。此处列出的密码将从已启用的密码中删除。
- transport.enabledProtocols
- 要启用的协议的逗号分隔列表。如果未设置,则使用上下文默认协议。所有禁用的协议都会从此列表中移除。
- transport.disabledProtocols
-
要禁用的协议的逗号分隔列表。此处列出的协议将从启用的协议列表中删除。默认值为
SSLv2Hello,SSLv3。 - transport.trustAll
- 如果启用,请隐式信任提供的服务器证书,无论配置的信任存储是什么。它默认是禁用的。
- transport.verifyHost
- 如果启用,验证连接主机名是否与提供的服务器证书匹配。它会被默认启用。
- transport.keyAlias
- 如果需要向服务器发送客户端证书,请从密钥存储中选择密钥对时使用的别名。
- transport.useOpenSSL
如果启用,请将原生 OpenSSL 库用于 SSL/TLS 连接(如果可用)。它默认是禁用的。
如需更多信息,请参阅 第 7.1 节 “启用 OpenSSL 支持”。