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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline kmi  
#1 Оставлено : 16 августа 2018 г. 17:54:44(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
Добрый день!

Подскажите, с чем может быть связана ситуация.

Используем серверный сертификат для доступа с клиентского приложения к удалённому сервису WCF. Возникает ошибка, показанная на снимке. При чём тут RSA, не ясно. Snimok.PNG (26kb) загружен 26 раз(а).

С сертификатом на основе ГОСТ 2001 всё работает корректно. С сертификатом 2012 даже обращение к серверу не происходит: сразу выскакивает ошибка.

Трассировка вызовов:

Цитата:
Server stack trace:
в System.IdentityModel.SecurityUtils.EncryptKey(SecurityToken wrappingToken, String encryptionMethod, Byte[] keyToWrap)
в System.ServiceModel.Security.Tokens.WrappedKeySecurityToken..ctor(String id, Byte[] keyToWrap, String wrappingAlgorithm, XmlDictionaryString wrappingAlgorithmDictionaryString, SecurityToken wrappingToken, SecurityKeyIdentifier wrappingTokenReference, Byte[] wrappedKey, SecurityKey wrappingSecurityKey)
в CryptoPro.Sharpei.ServiceModel.CPWrappedKeySecurityToken.Detour..ctor(String id, Byte[] keyToWrap, String wrappingAlgorithm, XmlDictionaryString wrappingAlgorithmDictionaryString, SecurityToken wrappingToken, SecurityKeyIdentifier wrappingTokenReference, Byte[] wrappedKey, SecurityKey wrappingSecurityKey)
в System.ServiceModel.Security.SymmetricSecurityProtocol.CreateWrappedKeyToken(SecurityToken wrappingToken, SecurityTokenParameters wrappingTokenParameters, SecurityTokenReferenceStyle wrappingTokenReferenceStyle)
в CryptoPro.Sharpei.ServiceModel.CPSymmetricSecurityProtocol.CreateWrappedKeyToken(SecurityToken wrappingToken, SecurityTokenParameters wrappingTokenParameters, SecurityTokenReferenceStyle wrappingTokenReferenceStyle)
в System.ServiceModel.Security.SymmetricSecurityProtocol.GetInitiatorToken(SecurityToken providerToken, Message message, TimeSpan timeout, SecurityTokenParameters& tokenParameters, SecurityToken& prerequisiteWrappingToken)
в System.ServiceModel.Security.SymmetricSecurityProtocol.TryGetTokenSynchronouslyForOutgoingSecurity(Message message, SecurityProtocolCorrelationState correlationState, Boolean isBlockingCall, TimeSpan timeout, SecurityToken& token, SecurityTokenParameters& tokenParameters, SecurityToken& prerequisiteWrappingToken, IList`1& supportingTokens, SecurityProtocolCorrelationState& newCorrelationState)
в System.ServiceModel.Security.SymmetricSecurityProtocol.SecureOutgoingMessageCore(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState)
в System.ServiceModel.Security.MessageSecurityProtocol.SecureOutgoingMessage(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState)
в System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
в System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
в CryptoPro.Sharpei.ServiceModel.CPSecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
в System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
в System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
в System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
в System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
в System.ServiceModel.Channels.ServiceChannel.EnsureOpened(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)


Файл osinfo приложен. Переустановка КП .NET не помогает. osinfo.xml (445kb) загружен 5 раз(а).
Offline kmi  
#2 Оставлено : 16 августа 2018 г. 18:23:11(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
Еще из наблюдений наших разработчиков: ошибка не возникает при использовании ГОСТ-2001, а также ГОСТ-2012 с ключом под 2001 CSP. Пример на снимке вашего тестового УЦ:
image1.png (162kb) загружен 22 раз(а).

Но тогда возникает странная вещь с размерностью в сертификате:
image2.png (51kb) загружен 22 раз(а)..

А вот с таким сертификатом уже возникает ошибка:
image3.png (54kb) загружен 23 раз(а)..
Offline Артём Макаров  
#3 Оставлено : 20 августа 2018 г. 11:12:19(UTC)
Артём Макаров

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

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 217

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 63 раз в 59 постах
Добрый день.

Подскажите, какую WCF привязку используете?
Техническую поддержку оказываем тут
Наша база знаний
Offline kmi  
#4 Оставлено : 20 августа 2018 г. 11:21:07(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
Вот конфигурация клиента. RBC.SOEES.SBR.Web.Api.Client.exe-2012_ed.config (4kb) загружен 16 раз(а).
Публичный API работает по открытому каналу, авторизация пользователя там не требуется. Тут всё ОК.
Проблема возникает с приватным. Даже если вход идёт только по имени пользователя, возникает указанная ошибка.
Offline Артём Макаров  
#5 Оставлено : 20 августа 2018 г. 11:46:44(UTC)
Артём Макаров

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

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 217

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 63 раз в 59 постах
Попробуйте текущую тестовую версию из вложения, в ней частично реализована поддержана WCF для части привязок на новых ГОСТах. Пароль на архив - 1.

NETSetup.zip (1,494kb) загружен 13 раз(а).
Техническую поддержку оказываем тут
Наша база знаний
Offline kmi  
#6 Оставлено : 20 августа 2018 г. 15:32:06(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
Обновили КП .NET на клиенте и сервере. Ошибка изменилась. Теперь почему-то не может проверить сертификат на сервере:
Skrin11.png (44kb) загружен 30 раз(а).
Offline kmi  
#7 Оставлено : 20 августа 2018 г. 15:54:52(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
В общем, с этим патчем получаем такой ответ:
Цитата:
System.ServiceModel.Security.MessageSecurityException: Не удалось проверить безопасность сообщения. ---> System.NotSupportedException: Закрытый ключ не является RSA-ключом.


Traces1.svclog (372kb) загружен 10 раз(а).

С ГОСТ-2001 проблем нет.

Отредактировано пользователем 20 августа 2018 г. 16:21:17(UTC)  | Причина: Не указана

Offline Артём Макаров  
#8 Оставлено : 22 августа 2018 г. 15:51:03(UTC)
Артём Макаров

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

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 217

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 63 раз в 59 постах
NETSetup.zip (1,495kb) загружен 42 раз(а).
Добавили поддержку вашей привязки. Должно помочь.

Архив во вложении, пароль - 1.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Артём Макаров за этот пост.
kmi оставлено 23.08.2018(UTC)
Offline kmi  
#9 Оставлено : 23 августа 2018 г. 11:56:34(UTC)
kmi

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

Группы: Участники
Зарегистрирован: 18.12.2012(UTC)
Сообщений: 49
Откуда: Москва

Сказал(а) «Спасибо»: 8 раз
Да, этот патч помог, спасибо большое!
Offline ipb  
#10 Оставлено : 14 сентября 2018 г. 10:53:49(UTC)
ipb

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

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

Сказал(а) «Спасибо»: 1 раз
Так же возникла проблема при работе с сертом ГОСТ 2012.
КриптоПро 4.0.9944 и КриптоНет 1.0.6397.0

Установили версию НЕТа 1.0.68 из "соседней" темы - не помогло...

Ошибка следующая, в чем может быть проблема:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Security.Cryptography.CryptographicException: Параметр должен поддерживать алгоритм GOST R 34.10-2001.
at CryptoPro.Sharpei.GostSignatureFormatter.SetKey(AsymmetricAlgorithm key)
at System.Security.Cryptography.SignatureDescription.CreateFormatter(AsymmetricAlgorithm key)
at UbsIService.SmevSignedXml.ComputeSignature(String prefix) in D:\Projects\Net\_SERVER\UbsEpsSMEVGisGmp\SmevSignedXml.cs:line 78
at UbsIService.SmevSigner.SignMessage(XmlDocument document, X509Certificate2 certificate) in D:\Projects\Net\_SERVER\UbsEpsSMEVGisGmp\SmevSigner.cs:line 67
at UbsIService.SmevIO.SignMessage(XmlDocument message) in D:\Projects\Net\_SERVER\UbsEpsSMEVGisGmp\SmevIO.cs:line 635
at UbsIService.UbsEpsSMEVGisGmp.ExecuteRequest(SmevIO smev, XmlDocument request, Protocol p, Boolean verifySignatureOnly, Boolean checkSignature, UbsEpsSMEVGisGmp unifo) in D:\Projects\Net\_SERVER\UbsEpsSMEVGisGmp\UbsEpsSMEVGisGmp.cs:line 1050
at UbsIService.UbsEpsSMEVGisGmp.COMMAND_UBS_CHECK_PAYMENT(CommandParameters p) in D:\Projects\Net\_SERVER\UbsEpsSMEVGisGmp\UbsEpsSMEVGisGmp.cs:line 228
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at UbsIService.UbsGateIS.UbsIService.IUbsModuleIS.Execute(UbsParam paramIn, UbsParam paramOut) in U:\Отдел программирования\Калинин\UbsGateIS\UbsGateIS\UbsGateIS.cs:line 907

Отредактировано пользователем 14 сентября 2018 г. 11:45:12(UTC)  | Причина: Добавлена информация о установки другой версии КриптоНЕТ

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (3)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.