ActiveMQ NMS SSL: запуск приложения с удаленного компьютера

На сервере A развернуто клиентское приложение C#. Это приложение взаимодействует с сервером B, на котором работает ActiveMQ, и использует протокол SSL. Сертификаты, импортированные на сервер A и сервер B (оба сертификата в хранилище текущего пользователя: сертификат клиента в личную папку и сертификат сервера в центр сертификации).

Запуск приложения напрямую с машины A не вызывает проблем. Но для реальной работы пользователь должен запустить приложение C# с машины C, используя общую папку на сервере A. В этом случае соединение не может быть установлено. Если я импортирую сертификат на машину C, он работает нормально.

Означает ли это, что я должен импортировать сертификат на каждую пользовательскую машину? Или поместить сертификаты на сервере А в папку «Локальный компьютер»?


person Vitaliy    schedule 17.10.2019    source источник


Ответы (1)


Вам нужно будет импортировать сертификат локально, так как совместное использование сертификата с использованием некоторого общего хранилища или тому подобного не обеспечит адекватного уровня безопасности для ОС, чтобы рассматривать его как надежное хранилище. Это стоимость использования SSL, доверенные сертификаты должны быть доступны в надежном месте.

person Tim Bish    schedule 17.10.2019
comment
Итак, в любом случае я должен импортировать сертификаты на все компьютеры пользователей, верно? Не могли бы вы указать, как импортировать сертификат локально, как общий доступ к сертификату с использованием некоторого общего хранилища? Я протестировал: скопировал сертификаты в подпапку общей папки приложения (откуда пользователь запускает приложение) и импортировал сертификаты в хранилище сертификатов на клиентской машине с помощью MMC. Это то, что вы предлагаете? - person Vitaliy; 17.10.2019
comment
Я думаю, ты неправильно понял, что сказал Тим. Он говорит, что вы должны импортировать сертификаты на все компьютеры пользователей, потому что совместное использование их через общее хранилище не сработает. Вы сами сказали, что если вы импортируете сертификат на машину C, он отлично работает. Вам просто нужно сделать это для всех соответствующих клиентов. - person Justin Bertram; 17.10.2019
comment
То, что я описал в своем тесте, означает, что я импортировал сертификаты на пользовательскую машину. Но это не то, чем я хотел бы заниматься. Проблема в том, что мое приложение работает как дополнение к клиентскому приложению от другой компании, и я использую сертификаты этой компании. Репликация сертификатов, скажем, на 50-100 машинах — это не совсем то, что ожидает клиент. Вот почему я ищу лучшее решение - person Vitaliy; 17.10.2019
comment
Я предполагаю, что единственным простым решением было бы подписать сертификаты вашего брокера с помощью доверенного корневого ЦС, который уже предоставлен в хранилище доверенных ЦС ОС. Если вы используете свой собственный корневой ЦС, вам нужно сделать его доступным для всех машин. - person Tim Bish; 17.10.2019