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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Markevich9  
#1 Оставлено : 10 октября 2018 г. 19:00:25(UTC)
Markevich9

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

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

Сказал(а) «Спасибо»: 2 раз
Здравствуйте!
Я возможно не в ту тему, заранее прошу прошения если это так.
Суть вопроса в следующем:
Есть служба WCF, для https используется сертификат ГОСТ 2012. Клиент не хочет использовать Криптопро Net, для подписи и проверки подписи используются другие библиотеки.
Для авторизации на сервисе используется кастомная проверка логина и пароля, все как учит MSDN. В моем понимании Криптопро Net ни как не используется. Криптопро CSP установлена на сервере и у клиентов.
При попытке обратиться к методам сервиса возникает ошибка "Алгоритм сертификата не поддерживается", при этом если установить Криптопро Net ошибка пропадает. И все проходит как надо.
На ПК разработчика не установлена Криптопро Net, и все работает.

По каким причинам может возникать данная ошибка? Зачем нужна Криптопро Net, для сервиса и на клиентских машинах если не используется ни клиентом ни сервисом для шифрования файлов?

Offline Максим Коллегин  
#2 Оставлено : 10 октября 2018 г. 19:21:25(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Обычно проблема такая возникает, если используется сертификат без привязки к закрытому ключу.
Соответственно для решения - нужно установить сертификат с привязкой к контейнеру и использовать сертификат из хранилища.

Отредактировано пользователем 10 октября 2018 г. 19:22:01(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
Markevich9 оставлено 10.10.2018(UTC)
Offline Markevich9  
#3 Оставлено : 10 октября 2018 г. 19:46:37(UTC)
Markevich9

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

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

Сказал(а) «Спасибо»: 2 раз
Спасибо за совет.

Проверил для сертификата есть закрытый ключ. Все на первый взгляд именно так как вы говорите. На всякий случай попросил проверить админов.
Единственное, что сертификат был выпущен для другого сайта(адреса не совпадают). Если заходить на страницу сервиса через IE, ругается. Хотя сертификат действительный, сертификаты корневого центра сертификации установлены. При просмотре свойств сертификата ни каких ошибок.

Проблема остается(

Я правильно понимаю что если установлена криптопро CSP, то для работы службы больше ни чего не нужно? Т.е. устанавливать Криптопро Net, нет необходимости, если не используется его функционал?

Отредактировано пользователем 10 октября 2018 г. 20:18:31(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#4 Оставлено : 11 октября 2018 г. 12:08:51(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
А какой биндинг используется? https?
Знания в базе знаний, поддержка в техподдержке
Offline Markevich9  
#5 Оставлено : 11 октября 2018 г. 12:21:18(UTC)
Markevich9

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

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

Сказал(а) «Спасибо»: 2 раз
На всякий случай полностью конфинг для сервиса.

<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="Binding" maxBufferPoolSize="536870912"
maxReceivedMessageSize="536870912" allowCookies="true">
<security mode="TransportWithMessageCredential" >
<transport clientCredentialType="None" />
<message clientCredentialType="UserName" negotiateServiceCredential="false" establishSecurityContext="false"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Service">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding"
contract="IService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="536870912"/>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceCredentials >
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="CustomUserValidator" />
<issuedTokenAuthentication certificateValidationMode="None" />
</serviceCredentials>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>

Наименования и ссылки на классы изменены.

Если можно направьте на путь истинный какие биндинги можно использовать? Где прочитать?

Отредактировано пользователем 11 октября 2018 г. 12:46:26(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#6 Оставлено : 11 октября 2018 г. 15:28:26(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Не вижу в конфиге сертификата. Гарантировать работоспособность различных конфигурацией без КриптоПро .NET не смогу, учитывая, что ситуация может зависеть и от версии Framework.
Знания в базе знаний, поддержка в техподдержке
Offline Markevich9  
#7 Оставлено : 11 октября 2018 г. 18:38:20(UTC)
Markevich9

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

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

Сказал(а) «Спасибо»: 2 раз
Его там сейчас действительно нет, раньше был. Удалил при попытке избавиться об любых упоминаниях сертификатов ГОСТ.
В действительности не важно есть он или нет. Ошибка все время одна и та же.

Framework 4.6.1.

Можете подсказать конфигурацию работа которой будет возможна без КриптоПро .NET?

Предположу что проблема в биндинге, но не могу понять какой именно нужно использовать чтобы ошибка не возникала.
Offline Максим Коллегин  
#8 Оставлено : 12 октября 2018 г. 11:54:49(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
К сожалению не подскажу - нет возможности проверить.
Знания в базе знаний, поддержка в техподдержке
Offline Markevich9  
#9 Оставлено : 16 октября 2018 г. 11:16:21(UTC)
Markevich9

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

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

Сказал(а) «Спасибо»: 2 раз
Возможно кому-то пригодиться.
Совершенно случано нашел на форуме топик(https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=4299). Проблемма не совсем та но схожа.
Если в двух словах, и да простят и исправят меня великие гуру если я в чемто не прав)
Для работы сервиса как такового наличие Криптопро . Net не требуется. Но если использовать wsHttpBinding или другой биндинг который использует шифрование для канала(сообщения) сервис начинает обращаться к методам системы на своем уровне. Т.е. если вы используете https на уровне операционной системы, то по мимо шифрования канала на уровне операционной системы сервис будет шифровать сообщения или канал(в зависимости от настроек) дополнительно. Если очень грубо, то получается https в https, шиврование в зашифрованном канале:) И тут возникают проблеммы - если на уровне операционной системы достаточно только Криптопро CSP, то на уровне сервиса нужно еще и Криптопро .Net.
Не уверен, но предположу - что при использовании basicBinding проблем возникнуть не должно(не проверенно только предположение). В моем случае basic не подходит т.к. мне нужно было использовать сессионную поддержку.
По ссылке выше автор использует кастомный биндин, я также использовал кастомный. У меня возникли некоторые проблеммы с клиентом, но они быстро решаются с минимальными затратами.

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