Есть ли способ извлечь информацию о том, какой сертификат клиента использовался в моем методе веб-службы при использовании <security mode="Transport>
? Я просеял через OperationContext.Current, но не смог найти ничего очевидного.Информация сертификата из службы WCF с использованием режима безопасности транспорта
Моя конфигурация сервера выглядит следующим образом:
<basicHttpBinding>
<binding name="SecuredBasicBindingCert">
<security mode="Transport">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
Я работаю с пабом сторонней системы/к югу, который, к сожалению, с помощью DataPower для аутентификации. Похоже, что если я использую WCF с этой конфигурацией, тогда я не могу получить информацию о вызывающем абоненте (поскольку на самом деле никаких учетных данных не отправлено).
Я как-то должен быть в состоянии выяснить, кто звонит на мою службу, не меняя конфигурацию, или прошу их изменить свою полезную нагрузку.
Я рассматриваю возможность использования адреса конечной точки, просто добавив к нему уникальный запрос. QueryString можно прочитать через '((System.ServiceModel.Channels.HttpRequestMessageProperty) System.ServiceModel.OperationContext.Current.IncomingMessageProperties [System.ServiceModel.Channels.HttpRequestMessageProperty.Name]). QueryString' – Langdon