Как использовать SSL-сертификат с ActiveMQ без самозаверяющего сертификата

#java #ssl #https #activemq

Вопрос:

В документации ActiveMQ SSL говорится:

ActiveMQ включает хранилища ключей и доверия, которые ссылаются на фиктивный самозаверяющий сертификат

В соответствии с настройкой SSL на ActiveMQ упоминается, чтобы указать URL-адрес файла хранилища ключей брокера.

     <bean id="SecureConnector" class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
        <property name="port" value="8162" />
        <property name="keystore" value="file:${activemq.conf}/broker.ks" />
        <property name="password" value="password" />
    </bean> 
 

Я приобрел SSL — сертификат. Как я могу использовать это с ActiveMQ? Файлы, которые у меня есть, — это .cer файл и .key файл.

Должен ли я сначала конвертировать .cer .jks файлы в формат файла, а затем настроить его в ActiveMQ Jetty?

Так вот как это должно быть сделано? Может быть, я что-то полностью упускаю из-за отсутствия знаний в этой области.

Я не могу использовать метод, описанный ActiveMQ, потому что для этого требуется рукопожатие как клиента, так и брокера, и в этом случае клиент является сторонним приложением, и мы не можем его контролировать.

Ответ №1:

Сертификат определенно должен быть в формате JKS, так как это формат, используемый Java (и ActiveMQ написан на Java). Как только сертификат будет преобразован, просто укажите на него ссылку в конфигурации ActiveMQ, как описано в документации. Это должно быть действительно откровенно.

Если ваш сертификат подписан доверенным центром, то клиент будет безоговорочно доверять ему и ему не нужно будет импортировать его в какой-либо доверенный магазин. Использование хранилища доверия необходимо для «самозаверяющих» сертификатов (которые используются в документации ActiveMQ), поскольку они не подписаны доверенным центром.

Комментарии:

1. Хорошо. Но у меня возникли проблемы при преобразовании файла .cer в формат .jks. Ошибка, которую я получил, — это ввод, а не сертификат X. 509. Подскажите, пожалуйста, точный способ преобразования файла .cer в формат .jks. Я перехожу по ссылке, упомянутой в вопросе.

2. Я думаю, вам следует создать новый вопрос о фактическом преобразовании сертификата. Пожалуйста, укажите команды, которые вы используете, а также результаты этих команд. Спасибо!