Я постараюсь упомянуть всю соответствующую информацию в одном месте.
Для одностороннего TLS почти не требуется конфигурация на стороне клиента, просто обновите строку подключения activemq:ssl://broker.host:61617
. Бремя сертификации лежит на сервере.
Чтобы настроить локального брокера ActiveMQ
Сначала создайте самозаверяющий ключ в файле хранилища ключей server.ts
<JAVA_HOME>\bin\keytool -genkey -alias broker -keyalg RSA -keystore <AMQ_HOME>\conf\server.ks
Затем отредактируйтефайл конфигурации ([AMQ Install Dir] \ conf \ activemq.xml)
определить контекст ssl
<broker ...>
...
<sslContext>
<sslContext keyStore="file:${activemq.conf}/server.ks"
keyStorePassword="password" />
</sslContext>
настроить транспорт ssl
<transportConnectors>
<transportConnector name="ssl" uri="ssl://localhost:61617" />
</transportConnectors>
Наконец запустить / перезапустить брокер ActiveMQ
Теперь вы можете установить соединение, используя следующую строку подключения:
activemq:ssl://localhost:61617?transport.acceptInvalidBrokerCert=true
На данный момент у вас должен быть рабочий прототип! и должен начать работать с реальными сертификатами.
Использование самозаверяющего сертификата
Если у вас возникли проблемы с самозаверяющими сертификатами, вы можете экспортировать один из хранилища ключей брокера, скопировать его в корзину клиента иупомянуть об этом в строке подключения.
экспорт:
<JAVA_HOME>\bin\keytool -export -alias broker -keystore <AMQ_HOME>\conf\server.ks -file broker_cert
строка подключения:
activemq:ssl://localhost:61617?transport.BrokerCertFilename=broker_cert
двусторонний TLS
продолжение следует ...