У нас есть центральная служба WCF, которую мы предоставляем через netTcpBinding для двусторонней связи с клиентами.
Мы хотим разрешить только определенным компьютерам в Интернете взаимодействовать с этой службой WCF. Путь, по которому мы идем, - это использование сертификатов X509 для защиты транспортного уровня и обеспечения аутентификации клиента, например:
<security mode="Transport">
<transport clientCredentialType="Certificate"></transport>
<message clientCredentialType="None"/>
</security>
В данный момент мы вызываем «MakeCert» для генерации сертификатов X509 и должны указать certificateValidationMode="PeerTrust"
, чтобы обойти тот факт, что мы создали наши собственные самозаверяющие сертификаты.
Мой вопрос: как нам следует управлять клиентскими сертификатами? Мы не хотим, чтобы каждый клиент покупал собственный сертификат - их может быть сотни, и это не вариант. Я полагаю, что мы хотим выступить в качестве нашего собственного "корневого органа", но я не уверен, как это сделать ...