Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sniker  
#1 Оставлено : 3 апреля 2017 г. 16:07:29(UTC)
sniker

Статус: Активный участник

Группы: Участники
Зарегистрирован: 16.01.2013(UTC)
Сообщений: 33
Российская Федерация

Сказал(а) «Спасибо»: 14 раз
Приветствую!

Имеется .NET веб-сервис, который корректно работает запущенный локально (на Win7, VS2015) и обращается к серверу с УЦ (на другой машине)
После переноса веб-сервиса в IIS на машину(WinServer2008 R2), где расположен УЦ, появилась ошибка

Цитата:
System.ServiceModel.Security.SecurityNegotiationException: Не удалось установить безопасный канал для SSL/TLS с полномочиями "ra3". ---> System.Net.WebException: Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.
в System.Net.HttpWebRequest.GetResponse()
в System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- Конец трассировки внутреннего стека исключений ---

Server stack trace:
в System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
в System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
в System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в AsducService.AsducServiceReference.RegAuthLegacyContract.GetCACertificate(String authority)
в AsducService.AsducWebService.TestCACertificate()



Ошибка появляется при вызове любого метода, например
Код:
var certs = client.GetCACertificate(null);


UPD.
В журнале на УЦ появляется запись
Цитата:
КриптоПро TLS. Ошибка 0x8009200b при обращении к CSP: Не удается найти сертификат и закрытый ключ для расшифровки.


Выходит что-то с сертификатом не так...
Для соединения с УЦ в Web.config (на Win7 и на WinServer) прописаны разные сертификаты, созданные по одному шаблону и для одного и того же пользователя.

Отредактировано пользователем 4 апреля 2017 г. 15:25:33(UTC)  | Причина: Не указана

Offline Захар Тихонов  
#2 Оставлено : 4 апреля 2017 г. 8:47:50(UTC)
Захар Тихонов

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,176
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 38 раз
Поблагодарили: 566 раз в 543 постах
Здравствуйте.

Возможно не строится цепочка сертификатов или не проверяется вся эта цепочка на отзыв.
А также, переустановите привязку к ЗК с помощью CSP.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline sniker  
#3 Оставлено : 4 апреля 2017 г. 15:25:10(UTC)
sniker

Статус: Активный участник

Группы: Участники
Зарегистрирован: 16.01.2013(UTC)
Сообщений: 33
Российская Федерация

Сказал(а) «Спасибо»: 14 раз
Спасибо за ответ.
Разобрался. Всё оказалось намного проще.

Цитата:
Для соединения с УЦ в Web.config (на Win7 и на WinServer) прописаны разные сертификаты, созданные по одному шаблону и для одного и того же пользователя.

Для тестирования сертификаты и ключи к ним были сгенерированы на обоих машинах в хранилище "Реестр".
Локально запрос выполнялся от имени текущего пользователя(т.к. VS2015 запущен от него же) и контейнер закрытого ключа(хранилище - Реестр) корректно находился программой.
На сервере же IIS выполняет запрос от имени пользователя который не имеет доступа к закрытому ключу, т.к. ключ был записан в Реестр другим пользователем.

Пересоздали закрытые ключи в общедоступном хранилище и всё заработало.
Offline Захар Тихонов  
#4 Оставлено : 4 апреля 2017 г. 15:31:02(UTC)
Захар Тихонов

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,176
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 38 раз
Поблагодарили: 566 раз в 543 постах
И это хорошо, что заработало)
Техническую поддержку оказываем тут.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.