30.06.2006 16:02:38Вызов веб-сервиса по https Ответов: 2
Михаил
Есть .Net веб-сервис, который нужно вызывать по https.
Установлены серверный и клиентский сертификаты (ГОСТ).
Из браузера по https сервис (.asmx) работает отлично.

Написано ASP.net веб-приложение, которое использует сервис:

System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatesPolicy();
TestService ts = new TestService();
X509Certificate x509 = X509Certificate.CreateFromCertFile(@"C:\clicert.cer");
ts.ClientCertificates.Add(x509);
Response.Write(ts.GetFIO("ivanov"));

Если в настройках IIS стоит опция Ignore Client Certificates, то все ок.

Если включаем поддержку клиентских сертификатов, то валится:
[Win32Exception (0x80004005): The specified data could not be decrypted]
System.Net.TlsStream.EndRead(IAsyncResult asyncResult) +141
System.Net.Connection.ReadCallback(IAsyncResult asyncResult) +105

Подскажите, в чем проблема, и как ее решить?


 
Ответы:
30.06.2006 16:12:40maxdm
клиентская аутентификация в .Net в КриптоПро TLS пока не поддерживается.
02.07.2006 20:40:17Михаил
ok, тогда вопрос к разработчикам КриптоПРО:
Когда планируется выпуск версии (апдейта) с поддержкой .net?

И, если сейчас делать не на .Net, а на ASP (VBScript / JScript) к примеру: Можно где-нибудь посмотреть примеры кодов, решающих вышеописанную задачу (вызов веб-сервиса по https с использованием клиентского сертификата)