我发布了一个不同的问题,现在我正在编辑它,因为我设法完成了我最初取得的成就。使用“我如何使用 SSL ”我设置了我的 ActiveMQ 代理接受 SSL 连接,并且我试图实现一个客户端来测试通信。我发现我可以通过设置系统属性来做到这一点:
static {
System.setProperty("javax.net.ssl.keyStore", "/home/amq/SSL/client.ks");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
System.setProperty("javax.net.ssl.trustStore", "/home/amq/SSL/client.ts");
}
我遇到的问题是创建密钥库/信任库和导出代理证书。当我删除 .ks 和 .ts 文件并按照“如何使用 SSL ”中的说明重新执行所有操作时,它起作用了。
我的新问题是:如何在不需要为客户端创建密钥库和导入代理证书的情况下建立连接?
我正在寻找一种方法来接受经纪人发送给我的任何证书。在此链接中,我找到了一种设置 URI 选项的方法:
ssl://localhost:61617?transport.acceptInvalidBrokerCert=true
但这对我不起作用。从我在我的 URI 或 URL 字符串中附加“?transport.acceptInvalidBrokerCert=true”的那一刻起,该方法停止工作,并且我不再可以建立连接。
谁能为我提供一个使用 SSL 连接到 ActiveMQ 代理的 java 或 c++ 客户端示例,而无需导入代理的证书,或者换句话说,接受任何无效证书?