一、主要内容
在Eclipse平台编写Java Demo类使用SSL连接ActiveMQ,并进行简单的报文发送,接收,并使用wireshark抓包工具对报文进行抓取分析。
二、Demo类
1、消息生产者
package example;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;
import org.apache.activemq.ActiveMQSslConnectionFactory;
/**
* 使用SSL连接器
* 队列消息生产者
*/
public class SSLPublisher {
public static void main(String[] args) throws JMSException, Exception {
/*
* 配置参数 密钥和证书文件的访问目录 密钥密码 SSL链接地址
*/
String keyStore = "E:/ssl/client1.ks";
String trustStore = "E:/ssl/client1.ts";
String keyStorePassword = "asdfgh";
String url = "ssl://127.0.0.1:61617";
// 创建SSL连接器工厂类
ActiveMQSslConnectionFactory sslConnectionFactory = new ActiveMQSslConnectionFactory();
// 设置参数,并加载SSL密钥和证书信息
sslConnectionFactory.setBrokerURL(url);
sslConnectionFactory.setKeyAndTrustManagers(SSLUtils.loadKeyManager(keyStore, keyStorePassword), SSLUtils.loadTrustManager(trustStore),
new java.security.SecureRandom());
// 连接ActiveMQ
Connection conn = sslConnectionFactory.createConnection();
conn.s