2012-05-04 5 views
6

Ich versuche, einen eingebetteten ActiveMQ-Broker zu erstellen, der SSL unterstützt.ActiveMQ Embedded Broker SSL

Im kontinuierlich immer der gleichen Fehler 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. 

auf dieser Suche gibt Hinweise auf möglicherweise Fehlfunktion in den Schlüsselspeicher und-Vertrauen zu erzeugen.

Ich habe versucht, den Keystore und Truststore mit diesen Anleitungen ohne Erfolg zu generieren. http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore

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

Im Versuch, dies einzurichten in Grails und im den embeddedActiveMq innen conf/Feder/resources.groovy definieren, wie folgt:

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

Ich kann nicht wirklich anderes valuble Debuggen erhalten Informationen dann mit

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

Könnte es ein Problem von diesem Java ist immer noch t Möchten Sie die Zertifikatsdateien in jre6/lib/security verwenden?

Gibt es etwas Spezifisches, das Sie tun müssen, damit der Keystore usw. ordnungsgemäß funktioniert?

Antwort

0

Der Link, den Sie oben angegeben haben (http://activemq.apache.org/how-do-i-use-ssl.html), enthält einen Verweis auf einen Fehlerbehebungsleitfaden für Ihr Problem unter Thawte. Gehen Sie diese Schritte durch und prüfen Sie, ob Sie es funktionieren.

Ein weiterer Hinweis, dass möglicherweise eine lange gedreht, aber trotzdem - wenn ich (obwohl DSA meist Zertifikate - sicherzustellen, dass Sie für weniger Mühe RSA-Zertifikate) Probleme mit Zertifikaten in Java gehabt haben, installiert die JVM hatten Exportbeschränkungen zu bestimmten Chiffren. Hier ist ein Link zu "Patch". Ich denke nicht, dass dies für Sie der Fall sein wird, aber es könnte auch eine Idee sein, dies zu überprüfen.

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

1

einen Blick auf ActiveMQ Unit-Tests nehmen, vor allem SslBrokerServiceTest. Es zeigt, wie Sie SslBrokerService korrekt konfigurieren und wie Sie KeyStore und TrustStore erstellen.