Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
При попытке использования ГОСТового сертификата в качестве средства безопасности WCF-сервиса получаю ошибку: CryptoPro TLS. Used certificate is not valid. TrustStatus: 0x10  Используемый сертификат:  С самоподписанными сертификатами всё работает. Проблема в сертификате? Каким должен быть сертификат, который можно использовать для этих целей?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 722 раз в 626 постах
|
Нужен серверный сертификат - у Вас клиентский. Если очень хочется - в последних CSP есть checkbox в контрольной панели: Пользователь Максим Коллегин прикрепил следующие файлы:  Безымянный.png (27kb) загружен 137 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться. |
|
 1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
Благодарю, галка помогла избавиться от ошибки КриптоПро. Тем не менее, эта ошибка была последним объяснением того, что происходит при взаимодействии WCF-клиента и WCF-сервера. Security session с использованием ГОСТового сертификата не устанавлиается. Если раньше при этом хотя бы выдавалась ошибка, то теперь не выдаётся ничего кроме исключения, показанного на скриншоте ниже. Что характерно, с самоподписанным RSA-шным сертификатом взаимодействие работает. Точно такая же картина у меня наблюдалась, когда я использовал на клиенте и сервере разные самоподписанные сертификаты (на клиенте - сгенерированный на Win7, на сервере - сгенерированный на Win2012), которые, как мне показалось, отличались принципиально только длиной закрытого ключа (1024 бита против 2048). В приведённых примерах с клиентской и серверной стороны используется один и тот же сертификат. Подскажите, в каком направлении копать дальше? Трейс сообщений с клиента:
 (Жёлтые варнинги в клиентских сообщениях о том, что сообщение не было записано, т.к. было слишком большим)
Трейс сообщений с сервера:
Используется wsHttpBinding со следующими настройками со стороны сервера:
Код:
<system.serviceModel>
<services>
<service name="BudgetService.BudgetService" behaviorConfiguration="simpleService">
<endpoint binding="wsHttpBinding" bindingConfiguration="wsTest" contract="BudgetService.IBudgetService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="simpleService">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true" />
<serviceCredentials>
<serviceCertificate findValue="Бюджет-21" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>
<!--<serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>-->
<clientCertificate>
<authentication certificateValidationMode="None"/>
</clientCertificate>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="wsTest" maxReceivedMessageSize="2147483647">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
<security mode="Message">
<transport clientCredentialType="None"/>
<message clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 722 раз в 626 постах
|
Укажите версии КриптоПро .NET, КриптоПро CSP и ОС. Сертификат и ключ находятся в хранилище LM? Лицензии все действующие? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
Сервер (виртуальная машина): Windows Server 2012 (неактивированная, временно рабочая) КриптоПро 3.6.7363 (версия ядра 3.6.5363 КС1) (триальная лицензия) КриптоПро .NET 1.0.4762 (триальная лицензия)
Клиент: Windows 7 x64 (активированная) КриптоПро 3.6.6497 (версия ядра 3.6.5359 КС1) (клиентская лицензия) КриптоПро .NET 1.0.4762 (триальная лицензия)
Сертификат и ключ в обоих случаях находятся в хранилище LM в контейнере Реестр без установленного пароля.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 722 раз в 626 постах
|
И в eventlog ничего подозрительного не появляется? |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 722 раз в 626 постах
|
Выложите целиком тестовый проект, на одной машине можно запустить? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
Во всяком случае, от КриптоПро после проставления галочки ошибок нету. Есть ошибка службы лицензирования Windows, все остальные сообщение в логе информационные:
На клиентском компьютере ошибок в журнале нету вообще.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
ПроектНа одном компьютере, конечно, можно запустить, нужно только адрес эндпоинта поменять и ссылки на сертификаты в конфигах. ЗЫЖ Да, может быть важно, на Windows 2012 стоит .NET 4.5, а на клиентской машине 4.0. Проекты скомпилированы под 4.0. Отредактировано пользователем 30 января 2013 г. 12:24:06(UTC)
| Причина: сертификаты, .NET
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 722 раз в 626 постах
|
Пробую запустить, зарпосил новый сертификат клиента в LM. Цитата:Службе WebHost не удалось обработать запрос Сведения об отправителе: System.ServiceModel.ServiceHostingEnvironment+HostingManager/12547953 Исключение: System.ServiceModel.ServiceActivationException: Не удается активировать службу "/BudgetService/BudgetService.svc" из-за возникновения исключения в процессе компиляции. Сообщение об исключении: Возможно, что сертификат "CN=budget" не имеет закрытого ключа, который может использоваться для обмена ключами, или у процесса нет прав доступа к закрытому ключу. Дополнительные сведения см. в тексте внутреннего исключения.. ---> System.ArgumentException: Возможно, что сертификат "CN=budget" не имеет закрытого ключа, который может использоваться для обмена ключами, или у процесса нет прав доступа к закрытому ключу. Дополнительные сведения см. в тексте внутреннего исключения. ---> System.Security.Cryptography.CryptographicException: Набор ключей не существует Даем права на ключ через оснастку сертификатов учетной записи IIS APPPOOL\DefaultAppPoolПолучаем Цитата:КриптоПро TLS. Не установлен компонент "Криптопровайдер режима ядра", необходимый для работы КриптоПро TLS в службах Windows Vista/2008 и выше (веб-сервер, сервер терминалов) Но это у меня клиентская ОС, устанавливаем, перезагружаемся. Отредактировано пользователем 30 января 2013 г. 12:42:26(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close