ActiveMQ - 提供TCP和SSL传输连接

时间:2014-10-30 08:34:30

标签: ssl activemq jaas

我目前的任务是配置两个ActiveMQ传输连接,一个使用普通tcp(用于测试目的)的未加密连接和一个使用SSL和JAAS插件的加密连接。

这是我的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:54042@61616
java.lang.SecurityException: Unable to authenticate transport without SSL certificate.

我是否仍然可以使用tcp连接来使用SSL证书?

1 个答案:

答案 0 :(得分:2)

为此,您希望使用JAAS Dual Authentication Plugin,它是基于证书的版本和标准用户/通过身份验证模型的混合,基于客户端是否使用SSL。