我目前的任务是配置两个ActiveMQ传输连接,一个使用普通tcp(用于测试目的)的未加密连接和一个使用SSL和JAAS插件的加密连接。
这是我的activemq.xml
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ssl" uri="ssl://0.0.0.0:61617?trace=true&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证书?
答案 0 :(得分:2)
为此,您希望使用JAAS Dual Authentication Plugin,它是基于证书的版本和标准用户/通过身份验证模型的混合,基于客户端是否使用SSL。