2015-11-26 2 views
0

Кому-нибудь удалось установить сертификат CA в экземпляр activemq? Я выполнял поиск в Google и читал документацию activemq, но я ничего не нашел о том, как использовать ранее существующий сертификат CA в activemq.acivemq, защищенные веб-интерфейсы, CA, защита и те же ограничения происхождения - Как установить сертификат CA?

Предположим, я установил его в хранилище activemq. Это верно? Я буду использовать его с websockets и mqtt на стороне клиента.

Кроме того, на случай, если мои предположения неверны, вот почему я думаю, что мне нужно использовать мой текущий сертификат CA. 1) У меня есть веб-приложение, и наши пользователи требуют связи с сервером для обеспечения безопасности. Весь трафик http безопасен. 2) Все современные веб-браузеры имеют политику одинакового происхождения для веб-сайтов. Они также, похоже, не имеют смешанного содержания. И поэтому, поскольку мой трафик http безопасен, я также должен использовать защищенные веб-узлы. (Мне также нужно запустить сервер activemq с тем же URL-адресом)

Я бы предпочел не туннелировать трафик веб-трафика по http, потому что тогда мне нужно беспокоиться о конфигурации apache в дополнение к конфигурации activemq - просто еще одно место для вещи, которые могут пойти не так.

Кроме того, я не передаю конфиденциальную информацию через веб-сайт, поэтому я мог бы оставить ее незащищенной, но, во-первых, мои пользователи, вероятно, не понимают этого, но также похоже, что в браузерах нет смешанного контента политика.

Кто-нибудь прошел через то, что я переживаю? Какие-нибудь советы?

ответ

1

В конечном итоге я получил эту работу, но в конечном итоге я решил туннелировать обмен данными через apache с помощью модуля ws_tunnel.

Но, чтобы ответить на мой вопрос выше, в основном вам нужно создать новое хранилище java на основе ваших ключей веб-сервера, а затем заменить хранилище ключей apachemq java этим новым хранилищем ключей. Я никогда не мог успешно импортировать ключи в существующее хранилище ключей.

Например, на моем Ubuntu Server, мои ключи:

SSLCertificateFile /etc/apache2/ssl/star_astracorp_com.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/star_astracorp_com.key 
    SSLCertificateChainFile /etc/apache2/ssl/astracorp.com.intermediate.sha1.chcrt 

Я затем экспортировать ключ в PKCS12:

openssl pkcs12 -export -in /etc/apache2/ssl/star_astracorp_com.crt -inkey /etc/apache2/ssl/star_astracorp_com.key -out server.p12 -name emsu1 -CAfile ca.crt -caname root 

Затем я импортировать PKCS12 в новый Java хранилище ключей:

keytool -importkeystore -deststorepass password -destkeypass password -destkeystore server.keystore -srckeystore /etc/apache2/ssl/server.p12 -srcstoretype PKCS12 -srcstorepass password -alias emsu1 

Затем, в моем каталоге apachemq, я перемещаю старый брокер. Откасался и переименовал server.keystore как kro ker.ks и перезапустить activemq.

У одного из моих серверов были файлы .pem для его ключей. Процесс по-прежнему был похож, однако мне пришлось перейти к утилите keystore OS X, чтобы получить пароль ключа.

openssl pkcs12 -export -in /etc/certificates/ems-dev.local.EDA65671FF2C9CE7DAA56E9AD8E4E5F3F2675C79.cert.pem -inkey /etc/certificates/ems-dev.local.EDA65671FF2C9CE7DAA56E9AD8E4E5F3F2675C79.key.pem -out server.p12 -name emsdev -CAfile ca.crt -caname root 

вас попросят ввести ключ - скопируйте и вставьте его из ключа.

Затем процесс создания нового хранилища ключей тот же:

keytool -importkeystore -deststorepass password -destkeypass password -destkeystore server.keystore -srckeystore /etc/certificates/server.p12 -srcstoretype PKCS12 -srcstorepass password -alias emsdev