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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Артём Макаров  
#11 Оставлено : 13 января 2020 г. 10:31:58(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Попробуйте рекомендации ниже.

0. Убедиться что версия sdk соответствует версии КриптоПро .NET

1. При использовании целевой версии старше 4.6.2 включительно .NET Framework использует CNG провайдеры по умолчанию, которые не поддерживаются КриптоПро.NET. Для корректной работы необходимо выставить switch DisableCngCertificates=true. Сделать для клиента это можно следующим образом:

В app.config файле:

Код:
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableCngCertificates=true" />
</runtime>
</configuration>


Или в коде:
Код:
private const string DisableCngCertificates = @"Switch.System.IdentityModel.DisableCngCertificate";
AppContext.SetSwitch(DisableCngCertificates, true);


2. При использовании целевой версии старше 4.5 включительно, в случае использования в проекте сборок CryptoPro.Sharpei.ServiceModel.dll и CryptoPro.Sharpei.IdentityModel.dll их необходимо заменить на сборки CryptoPro.Sharpei.ServiceModel45.dll и CryptoPro.Sharpei.IdentityModel45.dll соответственно и пересобрать проект.
Техническую поддержку оказываем тут
Наша база знаний
Offline pavel.kozak  
#12 Оставлено : 13 января 2020 г. 10:41:43(UTC)
pavel.kozak

Статус: Участник

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

0. Да при каждой смене, перепроверяли SDK + референсы на SDK в проекте.

1. DisableCngCertificates=true стоит достаточно давно в продукт версии, без неё не работает совсем.

2. Да они у нас прилеплены к проекту и референсы ведут на них, иначе для WCF не указать гостовские сертификаты, enum то описан в них.

Это все сделано и работает с версией SDK .NET КриптоПро 6ххх.

При замене SDK:
1. Переустанавливаем сам SDK
2. Заменяем в проекте CryptoPro.Sharpei.ServiceModel45.dll и CryptoPro.Sharpei.IdentityModel45.dll
3. Пересобираем проект

Offline Артём Макаров  
#13 Оставлено : 13 января 2020 г. 10:48:31(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
удалено. Некорректная информация.

Отредактировано пользователем 13 января 2020 г. 10:49:43(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Артём Макаров  
#14 Оставлено : 13 января 2020 г. 10:52:06(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Попробуйте собрать message wcf trace с клиента.

С сервера как я понимаю нет возможности его получить?
Техническую поддержку оказываем тут
Наша база знаний
Offline pavel.kozak  
#15 Оставлено : 13 января 2020 г. 10:52:44(UTC)
pavel.kozak

Статус: Участник

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

Успел ответить на удаленный вепрос ...

Это возможно, надо посмотреть.

Трейс снят с демонстрационного клиента от поставщика услуг. Ошибка точно такая же, поэтому не стал его препарировать.

Снять с нашего проекта будет не просто, т.к. это связка нескольких сервисов по WCF, там в трейсе будет каша.

Сейчас попробую по быстрому набросать небольшое свое демо и снять другой трейс.



По поводу трейса от поставщика, то с нашей стороны нет. Но от них был тикет, я сейчас скину ссылку на это обсуждение, возможно смогут помочь.

Отредактировано пользователем 13 января 2020 г. 10:54:46(UTC)  | Причина: Не указана

Offline pavel.kozak  
#16 Оставлено : 13 января 2020 г. 11:34:57(UTC)
pavel.kozak

Статус: Участник

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

Вот это обсуждение со стороны поставщика.

https://www.cryptopro.ru...aspx?g=posts&t=16270

С трейсами сервера смогут помочь только они.
Offline pavel.kozak  
#17 Оставлено : 13 января 2020 г. 11:53:51(UTC)
pavel.kozak

Статус: Участник

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

Автор: Артём Макаров Перейти к цитате
Попробуйте собрать message wcf trace с клиента.


Отправил в личку трейс с клиента от поставщика, с вашими настройками диагностики.

Если не подойдет, то позже сделаю свою демку и сниму лог.

Offline Артём Макаров  
#18 Оставлено : 13 января 2020 г. 12:31:43(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Спасибо. Пока больше с клиентской стороны ничего не нужно. Попробуем разобраться с серверной в соответствующей теме.
Техническую поддержку оказываем тут
Наша база знаний
Offline Артём Макаров  
#19 Оставлено : 14 января 2020 г. 13:17:51(UTC)
Артём Макаров

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

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

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

Похоже дело в том, что из-за несовпадения версий КриптоПро.NET на клиенте и сервера не получается использовать общий алгоритм экспорта ключа.
Сервер со старым КриптоПро.NET пытается импортировать ключ на старом алгоритме, а клиент экспортирует и отправляет на новом.

Как только на сервере обновят версию КриптоПро.NET до актуальной, проблема должна исчезнуть.

Пока можете попробовать сборку из вложения. Добавили возможность указывать алгоритм экспорта для клиента через app.config. Нужно добавить в секцию "configuration" подсекцию "CryptoProNetSettings" и в ней задать ключик DefaultKeyWrappingMethod.

Пример:
Код:
<configuration>
  <configSections>
    <section name="CryptoProNetSettings" type="System.Configuration.NameValueSectionHandler"/>
  </configSections>
 <CryptoProNetSettings>
 <add key="DefaultKeyWrappingMethod" value ="CryptoProKeyWrap"/>
 </CryptoProNetSettings>
</configuration>


Попробуйте пожалуйста, воспроизводится ли ошибка в версии из вложения и проставленным ключиком в app.config.

Пароль на архив - 1.
net-keyWrapFix.zip (1,690kb) загружен 7 раз(а).

Отредактировано пользователем 14 января 2020 г. 15:13:09(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline pavel.kozak  
#20 Оставлено : 14 января 2020 г. 14:01:28(UTC)
pavel.kozak

Статус: Участник

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

Быстро проверить не получилось. Если указать выше приведённые настройки, то при вызове стандартного диалога выбора сертификата из хранилища, клиент вылетает с исключением.
Если просто обновить .NET Криптопро, без указанных настроек приложения, то диалог работает, но по WCF ошибка старая (что ожидаемо)
Сейчас сделаю демку без выбора сертификата, проверить сам WCF.

Отредактировано пользователем 14 января 2020 г. 14:02:32(UTC)  | Причина: Не указана

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