Как COM-сервер может разрешить доступ только определенным COM-клиентам с помощью белого списка?

Я создал приложение C ++, которое загружает DLL (плагины). Перед загрузкой dll приложение проверяет, является ли цифровая подпись dll частью белого списка. Это сделано для того, чтобы загружались только авторизованные dll.

Я пытаюсь сделать что-то подобное, используя вне процесса COM-сервер / клиент. COM-сервер должен гарантировать, что только определенные клиенты могут получить к нему доступ (из белого списка). Я знаю, что Microsoft предоставляет много разных механизмов аутентификации для COM, но они казаться вращаться вокруг идентичности приложений (учетная запись используется для его запуска). В конечном итоге мне нужен безопасный способ убедиться, что клиент COM — это то, кем они себя называют, и что они в моем белом списке.

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

Спасибо за любую помощь, которую вы можете предоставить

  • Крис

0

Решение

Я думаю, что это может быть достигнуто в DCOM Config в сочетании с доверенными сертификатами клиентов.

Другой способ — реализовать метод в интерфейсе, где сервер проверяет цифровую подпись клиента. В этой ссылке приведен пример, как зачитать сертификат клиента
Как мне прочитать подпись встроенного кода в C ++?

0

Другие решения


По вопросам рекламы [email protected]