2012-05-04 34 views
6

我試圖設置一個支持SSL的嵌入式ActiveMQ代理。ActiveMQ嵌入式中間件SSL

林連續得到同樣的錯誤消息:

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和IM定義的conf /春/ resources.groovy內embeddedActiveMq設置此類似如下:

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() 

我真的不能得到任何其他valuble調試信息然後使用

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

難道還有一個java的問題仍然是t試圖使用jre6/lib/security中的證書文件?

有什麼具體的你需要做的,以使密鑰庫等正常工作?

回答

0

您在上面提供的鏈接(http://activemq.apache.org/how-do-i-use-ssl.html)實際上提供了針對您的問題的疑難解答指南的參考文件Thawte。通過這些步驟,並驗證你是否得到它的工作。當我遇到Java中的證書問題時(主要是DSA證書 - 儘管 - 確保您擁有RSA證書以減少故障),但安裝的JVM具有導出限制某些密碼。這是一個「補丁」的鏈接。我不認爲這將是你的情況,但無論如何,可能是一個想法來檢查。

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

1

看看ActiveMQ的單元測試,尤其是SslBrokerServiceTest。 它顯示瞭如何正確配置SslBrokerService以及如何創建KeyStoreTrustStore