Мой сценарий:
- Многие клиенты WCF, которые находятся в средах, находящихся вне моего контроля
- Сервер будет либо моим, либо в среде вне моего контроля
Так что в худшем случае клиент и сервер находятся вне моего контроля.В частности, я могу предположить, что кто-то, размещающий этот код, может попытаться злонамеренно выдать себя за сервер или за клиента (скорее всего, за сервером).Однако клиент должен проверить, что сервер - это мой код, а сервер должен проверить, что клиент - это мой код.Я видел все рекомендации по использованию сертификатов;тем не менее, является ли этот вариант заданным в моем сценарии?
Один из подходов, которые я рассмотрел, заключается в написании IClientMessageInspector и IDispatchMessageInspector для установки и проверки пользовательского заголовка SOAP с обеих сторон.Я бы создал подпись HMAC на основе секретного ключа, содержащегося в исходном коде (предположим, у меня есть способ сохранить это скрытым), а затем проверил бы дайджест, основанный на теле сообщения.
Мне кажется, это будет работать;Тем не менее, я чувствую, что может быть что-то более нестандартное, что мне здесь не хватает.Я близко, совсем не в курсе?Спасибо за любое руководство!