2014-10-30 42 views
2

我目前的任務是配置兩個ActiveMQ傳輸連接,一個使用普通tcp(用於測試目的)的未加密連接和一個使用SSL和JAAS插件的加密連接。ActiveMQ - 同時提供TCP和SSL傳輸連接

這是我activemq.xml

<transportConnectors> 
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
    <transportConnector name="ssl" uri="ssl://0.0.0.0:61617?trace=true&amp;needClientAuth=true"/> 
</transportConnectors> 

<plugins> 
    <jaasCertificateAuthenticationPlugin configuration="CertLogin" /> 
</plugins> 

的問題是,當我使用JAAS插件正常tcp連接需要我使用SSL證書進行身份驗證。

org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: tcp:///127.0.0.1:[email protected] 
java.lang.SecurityException: Unable to authenticate transport without SSL certificate. 

有沒有一些方法,我仍然可以使用,使用SSL證書的tcp連接?

回答

2

爲此,您希望使用JAAS Dual Authentication Plugin這是基於證書的版本和基於客戶端是否使用SSL的標準用戶/傳遞身份驗證模型的混合。