Доступ к ActiveMQ JMX через SSL
Я пытаюсь получить доступ JMX с поддержкой SSL к ActiveMQ (5.8.0 или 5.9.0 под управлением Java 1.6.0), но мне не везет. В прошлом я имел дело с JMX-доступом с поддержкой SSL, поэтому я хорошо знаком с настройкой хранилищ ключей, доверенных сертификатов и т. Д. Все наши серверы расположены в AWS, поэтому нам приходится иметь дело с пробиванием дыр через брандмауэры. Я могу получить незашифрованный JMX, работающий на нашем сервере ActiveMQ, указав в файле activemq.xml следующее:
<managementContext>
<managementContext connectorPort="1099" rmiServerPort="1098" connectorHost="<local IP of AWS instance>" />
</managementContext>
А также указав следующие параметры Java при запуске ActiveMQ:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.password.file=/path/to/jmx.passwd
-Dcom.sun.management.jmxremote.access.file=/path/to/jmx.access
-Djava.rmi.server.hostname=<public IP of AWS instance>
У controlContext, по-видимому, нет параметров для поддержки SSL, поэтому я пытаюсь также включить следующее в мою командную строку Java (которая прекрасно работает с другими нашими приложениями Java для доступа к JMX через SSL):
-Dcom.sun.management.jmxremote.ssl=true
-Djavax.net.ssl.keyStore=/path/to/keystore
-Djavax.net.ssl.trustStore=/path/to/truststore
-Djavax.net.ssl.keyStorePassword=<password>
-Djavax.net.ssl.trustStorePassword=<password>
-Dcom.sun.management.jmxremote.ssl.need.client.auth=false
Похоже, что ActiveMQ просто игнорирует эти настройки. Если я использую команду "openssl s_client -connect:" для запроса порта RMI-сервера процесса java, где работает JMX/SSL, то он отображает все подробности об используемом сертификате. Однако, если я запускаю команду для порта сервера ActiveMQ RMI, я получаю сообщение о том, что нет сертификата однорангового узла.
Можно ли зашифровать SSL-доступ JMX к ActiveMQ или мне не повезло, так как оказалось, что их managementContext не поддерживает его?