пишу клиент для использования веб-службы на C#. Веб-служба работает с персональными данными и авторизация выполняется по сертификату, протокол https.
Создаю объект "client" с помощью конструктора прокси-класса.
MedStaffServiceClient client = new MedStaffServiceClient("Basic");
....
вот так вот указываю сертификат для авторизации
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindByThumbprint,
"58d.....................5f");
далее при вызове метода
client.PutEmployee(EmployeeAll.ToArray(), info);
передача данных веб-службе, получаю исключение:
Исключение:Вызвано: "Заданного параметра реестра не существует." (System.IO.IOException)
Возникло System.IO.IOException: "Заданного параметра реестра не существует."
Time: 24.09.2013 15:38:46
Поток:Основной поток[2000]
Исключение:Вызвано: "Проверка подлинности не пройдена из-за закрытия транспортного потока удаленной стороной." (System.IO.IOException)
Возникло System.IO.IOException: "Проверка подлинности не пройдена из-за закрытия транспортного потока удаленной стороной."
Time: 24.09.2013 15:38:47
Поток:Поток рабочего процесса[3536]
Исключение:Вызвано: "Дескриптор SafeHandle был закрыт" (System.ObjectDisposedException)
Возникло System.ObjectDisposedException: "Дескриптор SafeHandle был закрыт"
Time: 24.09.2013 15:38:47
Поток:Основной поток[2000]
Исключение:Вызвано: "Запрос был прерван: Не удалось создать защищенный канал SSL/TLS." (System.Net.WebException)
Возникло System.Net.WebException: "Запрос был прерван: Не удалось создать защищенный канал SSL/TLS."
Time: 24.09.2013 15:38:47
Поток:Основной поток[2000]
Исключение:Вызвано: "Не удалось установить безопасный канал для SSL/TLS с полномочиями "service.rosminzdrav.ru"." (System.ServiceModel.Security.SecurityNegotiationException)
Возникло System.ServiceModel.Security.SecurityNegotiationException: "Не удалось установить безопасный канал для SSL/TLS с полномочиями "service.rosminzdrav.ru"."
Time: 24.09.2013 15:38:47
Поток:Основной поток[2000]
ЗЫ КриптоПро .NET установлен с пробной лицензией. Корневой сертификат установлен, Криптопро 3,6 установлен с клиентской лицензией. ОС Windows 8(x64).
Есть еще тестовая площадка веб-сервиса, там авторизация по логину и паролю:
client.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["UserName"];
client.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["Password"];
там все работает...
Помогите(( пожалуйста.
Отредактировано пользователем 24 сентября 2013 г. 21:13:40(UTC)
| Причина: Не указана