Jms Amazon MQ服务如何在不要求客户端使用TrustStore和KeyStore的情况下工作?

Jms Amazon MQ服务如何在不要求客户端使用TrustStore和KeyStore的情况下工作?,jms,activemq,message-queue,amazon-mq,Jms,Activemq,Message Queue,Amazon Mq,当我们在独立ActiveMQ上配置SSL时,我们可能需要在客户端代码中提供信任库、信任库密码、密钥库和密钥库密码,以便通过SSL协议连接到活动MQ,但在AmazonMQ的情况下,尽管他们提供了SSL端点,但我们可以简单地连接到它,而无需提供信任和关键相关值 简单ActiveMQ over SSL的客户端代码段: ActiveMQSslConnectionFactory connFactory = new ActiveMQSslConnectionFactory("ssl://<someHo

当我们在独立ActiveMQ上配置SSL时,我们可能需要在客户端代码中提供信任库、信任库密码、密钥库和密钥库密码,以便通过SSL协议连接到活动MQ,但在AmazonMQ的情况下,尽管他们提供了SSL端点,但我们可以简单地连接到它,而无需提供信任和关键相关值

简单ActiveMQ over SSL的客户端代码段:

ActiveMQSslConnectionFactory connFactory = new ActiveMQSslConnectionFactory("ssl://<someHost>:61617");
        String trustStore = "pathTo/client_new.ts";
        String keyStore = "PathTo/client_new.ks";
        try {

            connFactory.setTrustStore(trustStore);
            connFactory.setTrustStorePassword("password");
            connFactory.setKeyStore(keyStore);
            connFactory.setKeyStorePassword("password");

        } catch (Exception e) {

            e.printStackTrace();
        }

ActiveMQConnectionFactory connFactory = new ActiveMQConnectionFactory("ssl://xyz.amazonaws.com:61617");

基本上,这有什么区别呢?

首先,AmazonMQ在ActiveMQ之上工作,amazon在ActiveMQ上编写了一个包装层,因此在功能方面,它的工作原理基本相同。AmazonMQ是ActiveMQ的托管消息代理服务。 它管理与空间相关的一切,在不同的区域配置主动/被动端点,以及以下链接中提到的一些好处

amazonMQ的其他好处是,在使用amazon的其他服务(如将activemq版本升级到最新版本)时,您可以设置警报和更多警报

现在来看应用程序部分,一件好事是您通过SSL连接配置activemq的方式,虽然activemq也公开了tcp端点,可以通过简单地提供代理URL进行连接,但在amazonMQ的情况下,它不公开任何tcp端点,唯一的连接方式是提供SSL端点和相关参数

有关应用程序如何连接到amazonMQ,请参阅此链接:

@anshul Gupta,你知道这件事吗?谢谢@anshul。但我一直在寻找为什么与Amazon MQ的连接不会像在ssl上的独立MQ中那样要求客户端代码设置信任库和密钥库。@Nish连接到AWS帐户本身使用密钥库信息,这主要是设置和询问的。因此,当您将其连接到AWS时,第一部分已经得到了处理,之后它将使用用户名和密码来验证和连接客户端。