在使用ActiveMQ的传输协议时,有两种常见的选择:amqps和ampq+ssl。其中,amqps使用的是基于TLS的加密协议,而ampq+ssl则使用的是基于SSL的加密协议。
如果需要使用amqps协议传输ActiveMQ消息,可以在ActiveMQ的连接URI中指定amqps协议,如下所示:
ssl://localhost:61617?transport.enabledCipherSuites=TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA
在使用ampq+ssl协议传输ActiveMQ消息时,需要使用Apache Qpid底层库的支持。可以按照以下步骤进行设置:
org.apache.qpid
qpid-jms-client
0.56.0
amqps://hostname:5671?transport.trustStoreLocation=path/to/truststore.jks
也可以将truststore.jks文件的内容以Base64编码的方式直接写入到连接URI中,如下所示:
amqps://hostname:5671?transport.trustStore=%3Cbase64-encoded-certificate-data%3E
需要注意的是,ampq+ssl协议需要在ActiveMQ服务端配置相关证书和密码等信息,具体可以参考ActiveMQ官方文档进行配置。