Как добраться до HttpWebRequest в WCF ClientBase
От: ecinunice  
Дата: 20.06.13 09:41
Оценка:
Есть System.ServiceModel.ClientBase<IVerifyServiceSoap> с basicHttpBinding
Мне нужно сажать специальный сертификат HttpWebRequest.ClientCertificates.Add(cert)
перед вызовом сервиса. Как найти точку доступа с HttpWebRequest в этом распрекрасном WCF клиенте?
... << RSDN@Home 1.2.0 alpha 5 rev. 21>>
Re: Как добраться до HttpWebRequest в WCF ClientBase
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 21.06.13 00:08
Оценка: 4 (1)
Здравствуйте, ecinunice, Вы писали:

E>Есть System.ServiceModel.ClientBase<IVerifyServiceSoap> с basicHttpBinding

E>Мне нужно сажать специальный сертификат HttpWebRequest.ClientCertificates.Add(cert)
E>перед вызовом сервиса. Как найти точку доступа с HttpWebRequest в этом распрекрасном WCF клиенте?

В распрекрасном WCF-клиенте клиентский серт обычно задают либо через конфиг, либо программно:


myClientProxy.ClientCredentials.ClientCertificate.SetCertificate
(
   StoreLocation.CurrentUser,
   StoreName.My,
   X509FindType.FindBySubjectName,
   "contoso.com"
);


Зачем добираться до HttpWebRequest?
Продолжаю знакомиться с интимными подробностями WCF
От: ecinunice  
Дата: 21.06.13 06:18
Оценка:
Здравствуйте, scale_tone, Вы писали:

_>Здравствуйте, ecinunice, Вы писали:


E>>Есть System.ServiceModel.ClientBase<IVerifyServiceSoap> с basicHttpBinding

E>>Мне нужно сажать специальный сертификат HttpWebRequest.ClientCertificates.Add(cert)
E>>перед вызовом сервиса. Как найти точку доступа с HttpWebRequest в этом распрекрасном WCF клиенте?

_>В распрекрасном WCF-клиенте клиентский серт обычно задают либо через конфиг, либо программно:


Круто, спасибо

Продолжаю знакомиться с интимными подробностями WCF в режиме security mode="Transport" transport clientCredentialType="Certificate"

При попытке вызвать сервис получаю

Unhandled Exception: System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client a
uthentication scheme 'Anonymous'. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()
   at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan time
out)


Не подскажите как решить?
... << RSDN@Home 1.2.0 alpha 5 rev. 21>>
Re: Продолжаю знакомиться с интимными подробностями WCF
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 21.06.13 08:14
Оценка: 4 (1)
Здравствуйте, ecinunice, Вы писали:

E>Не подскажите как решить?


В клиентском байндинге указать HttpClientCredentialType.Certificate.

Все по мануалу.

В мануале wsHttpBinding, но с basicHttpBinding все то же самое.
Re[2]: Продолжаю знакомиться с интимными подробностями WCF
От: ecinunice  
Дата: 21.06.13 09:18
Оценка:
Здравствуйте, scale_tone, Вы писали:

_>Здравствуйте, ecinunice, Вы писали:


E>>Не подскажите как решить?


_>В клиентском байндинге указать HttpClientCredentialType.Certificate.


_>Все по мануалу.


_>В мануале wsHttpBinding, но с basicHttpBinding все то же самое.


Только не работает совсем а так все сделано
Эта штука требует что бы в IIS было настроено Required SSL & Required Client Certificate
и после этого все 403 Forbidden
... << RSDN@Home 1.2.0 alpha 5 rev. 21>>
Re[3]: Продолжаю знакомиться с интимными подробностями WCF
От: scale_tone Норвегия https://scale-tone.github.io/
Дата: 21.06.13 22:33
Оценка: 4 (1)
Здравствуйте, ecinunice, Вы писали:

E>Только не работает совсем а так все сделано

E>Эта штука требует что бы в IIS было настроено Required SSL & Required Client Certificate
E>и после этого все 403 Forbidden

Ну, оно много чего требует, чтобы работать. В том числе, настроек в IIS (если у Вас IIS) или привязки сертов к порту (если у Вас не IIS).
Показывайте код, говорите, в чем глобальная задача, и что не работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.