当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ嵌入式代理SSL

何楷
2023-03-14

我正在尝试设置一个支持SSL的嵌入式ActiveMQ代理。

我不断得到相同的错误msg:

ActiveMQ Transport Server: ssl://localhost:61613, called closeSocket()
2012-05-04 12:53:11,961 [ActiveMQ Transport Server: ssl://localhost:61613] ERROR          broker.TransportConnector  - Could not accept connection : No available certificate or key corresponds to the SSL cipher suites which are enabled.

搜索这给出了在生成密钥存储和信任存储时可能发生故障的指示。

我试图使用这些指南生成密钥存储和信任存储,但没有成功。http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore

http://activemq.apache.org/how-do-i-use-ssl.html

我试图在grails中设置它,并在conf/Spring/resources.groovy中定义嵌入的ActiveMq,如下所示:

SpringSslContext sslContext = new SpringSslContext()
    FileSystemResource keyStoreResource = new FileSystemResource("/path/to/keyStore")
    FileSystemResource trustStoreResource = new FileSystemResource("/path/to/trustStore")
    sslContext.setKeyStore(keyStoreResource)
    sslContext.setKeyStorePassword("password")
    sslContext.setTrustStore(trustStoreResource)
    sslContext.setTrustStorePassword("trustword")


    SslBrokerService broker = new SslBrokerService()
    broker.setBrokerName("broker")
    broker.setPersistent(true)
    broker.setUseJmx(true)
    broker.setSslContext(sslContext)

TransportConnector connector = new TransportConnector
connector.setUri(new("ssl://localhost:61613"))
broker.addConnector(connector)
broker.start()

我不能真正得到任何其他有价值的调试信息,然后使用

 System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager,keymanager")

是否存在java仍试图使用jre6/lib/Security中的证书文件的问题?

为了使密钥库等正常工作,您是否需要执行一些特定的操作?

共有1个答案

酆阳煦
2023-03-14

看看ActiveMQ单元测试,特别是SslBrokerServiceTest。它显示了如何正确配置SslBrokerService以及如何创建KeyStoreTrustStore

 类似资料:
  • 问题内容: 编辑:改写问题: 我想将ActiveMQ用作服务器和客户端应用程序之间的信使服务。 我正在尝试在服务器内设置嵌入式代理(即不是单独的进程),以处理产生的消息供我的客户使用。该队列被保留。 经纪人初始化如下: 修补之后,我最终得到了服务器部分: 客户端非常相似,看起来像这样: main方法只是在线程中启动其中的每一个,以开始生成/接收消息。 …但是我在每个线程的开头都遇到以下问题: 看来

  • 问题内容: 我正在尝试为连接到RabbitMQ代理的Scala / Java应用程序创建集成测试。为了实现这一点,我希望有一个嵌入式经纪人讲我在每次测试之前启动和停止的AMQP。最初,我试图将ActiveMQ引入AMQP作为嵌入式代理,但是该应用程序使用RabbitMQ,因此仅使用AMQP 0.9.3版,而ActiveMQ需要AMQP 1.0版。 我可以使用其他嵌入式代理代替ActiveMQ吗?

  • 我有一个旧的应用程序,它用ActiveMQ 5.8.0处理JMS消息,还有一些JNDI远程主题连接到这个ActiveMQ。 我有一个这样的连接器: 它工作得很好,但是现在,由于一些技术原因(严格的JMS 1.1),我需要使用“ConnectionFactory”而不是“TopicConnectionFactory”。在实际配置中,我被卡住了,因为ActiveMQ似乎使用了“TopicConnect

  • 早上好, null 感谢您对旅游的帮助 经过深入研究,我注意到spring-boot-starter-artemis提供的开箱即用的实现使用接受器。我想知道这是否不是根本原因(再说一遍,我绝不是专家)。但似乎有一种自定义artemis配置的方法。因此,我毫无运气地尝试了以下配置:

  • 我已经嵌入了< code>activemq代理。我想使用< code > simpleAuthenticationPlugin 。我为嵌入式代理添加了依赖关系< code>activemq-jaas。我已经为< code > simpleAuthenticationPlugin 添加了设置,但它似乎试图使用我的桌面用户名或eclipse用户名进行身份验证(因为它是相同的用户名)。 以下是警告: [

  • 有什么想法吗?