Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.10.2011(UTC) Сообщений: 74 Откуда: Moscow
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
Здравствуйте, я использую browser plugin чтобы создать подпись cades-x-long-type-1, у меня на руках 2 клиентских сертификата: от root_ca1 и root_ca2 (на самом деле это один и тот же УЦ только он ежегодно перевыпускает свой сертификат). УЦ предоставляет ocsa и tsa службы, чьи сертификаты выпущены root_ca1. Когда я создаю подпись для клиентского сертификата выпущеного root_ca1, то все проходит корректно; когда для root_ca2, то возникает ошибка: "Данный сертификат не подходит для такого использования". Сразу что я проверил - это назначение ключа(key usage, extended key usage), они корерктные: KeyUsage [ DigitalSignature Non_repudiation Key_Encipherment Data_Encipherment ] ExtendedKeyUsages [ clientAuth emailProtection ] Потом проверил ответ OSCA службы, OCSPResponse.responseStatus = 0, значит все ок, и ocsa нашел сертификат выпущенный root_ca2 и он валиден. потом полез в лог плагина и нашел там: Код:
00000467 3.97203588 [2284] pkivalidator.dll: {2308} /OCSPSigningImpl/ CertDllVerifyCertificateChainPolicyImpl.cpp(971) : Certificate of OCSP responder is not valid for signing status of pExtraPara->rgCertId[0]: issuer in CertId differs from one of OCSP certificate (end entity case).
00000468 3.97236800 [2284] pkivalidator.dll: {2308} /OCSPSigningImpl/ CertDllVerifyCertificateChainPolicyImpl.cpp(1023) : CAtlException raised while checking pExtraPara->rgCertId[0]: m_hr = 0x800b0110
00000469 3.97264671 [2284] pkivalidator.dll: {2308} /ReportError/ CertDllVerifyCertificateChainPolicyImpl.cpp(1370) : Extra status was supplied. Setting pExtraStatus->dwError |= 0x00000010
00000470 3.97291017 [2284] pkivalidator.dll: {2308} /ReportError/ CertDllVerifyCertificateChainPolicyImpl.cpp(1373) : Extra status was supplied. Other checks can be performed - returning false.
00000471 3.97364831 [2284] pkivalidator.dll: {2308} /CertDllVerifyCertificateChainPolicyProxy/ CertDllVerifyCertificateChainPolicy.cpp(28) : Finish. Returning TRUE.
00000472 3.97392273 [2284] cades.dll: {2308} /COcspPolicyVerification::verifyExtraStatus/ ChainValidation.h(882) : The certificate is not valid for the requested usage
00000473 3.97418332 [2284] cades.dll: {2308} /CChainPolicyVerification::chainContext/ ChainValidation.h(663) : #failure# HRESULT: (0x800b0110)
00000474 3.97444153 [2284] cades.dll: {2308} /CChainPolicyVerification::chainContext/ ChainValidation.h(663) : dwExtraError
Подскажите, где мне искать ошибку? Возможно плагин не может справиться с ситуацией когда рутовые сертификаты ocsa, tsa и рутовый сертификат клиента разные? Могут ли огни быть разными или они всегда должны быть выпущены одним ЦС? версия ядра скзи 3.6.5359 версия продукта 3.6.6497 плагина(смотрел в хроме) 1.00.0191.0000 Отредактировано пользователем 26 июня 2012 г. 18:08:48(UTC)
| Причина: Не указана Вложение(я):  diff_roots_error.log (60kb) загружен 6 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 926  Откуда: Крипто-Про Поблагодарили: 101 раз в 96 постах
|
Цитата:issuer in CertId differs from one of OCSP certificate (end entity case). Сертификат OCSP-сервера и клиентский сертификат, который при помощи этого OCSP-сервера проверяют, должны быть выпущены одним и тем же УЦ. Проверяйте, совпадают ли имена в старом и новом сертификатах УЦ. Компоненты имени должны быть указаны в том же порядке. Сертификат службы штампов может быть выпущен кем угодно.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.10.2011(UTC) Сообщений: 74 Откуда: Moscow
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
Их имена не совпадают, но фактически это одна и та же организация. В личном сообщении я отослал Вам сертификаты УЦ (старый(с 2011 по 2013) и новый(с 2012 по 2014)). Подскажите мне требовать от УЦ выпустить для их OCSA новый сертификат или плагин должен быть поправлен? Ведь судите сами: у меня в доверенных корневых лежит 2 сертификата УЦ (обоим доверяю, один сертификат старый другой новый), я проверяю сертификат выданый УЦ после того как произошла смена сертификата(т.е. сертификат подписи в цепоче сертификатов стоит под новым), в сертификате подписи указан адрес службы OCSA и я проверяю ее сертификат - он выпущен УЦ которому я доверяю(=старый сертификат УЦ), служба на OCSP запрос отвечает положительно, тогда почему я не могу создать подпись?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 926  Откуда: Крипто-Про Поблагодарили: 101 раз в 96 постах
|
Совпадение имени издателя - требование RFC2560 пп.4.2.2.2. Это нам с вами известно, что организация одна и та же, а формально - у сертификатов службы OCSP и пользователя _разные_ издатели, так как имя субъекта в сертификатах отличается. Ответила в личном сообщении и продублирую здесь - есть 2 варианта: - Выпустить сертификат УЦ, в котором имя субъекта совпадает с предыдущим. - Для новых сертификатов развернуть отдельную службу OCSP. Если выпускать для уже существующей службы OCSP новый сертификат, то точно такая же проблема возникнет с сертификатами, которые были выпущены на старом ключе. Отредактировано пользователем 26 июня 2012 г. 21:23:14(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.10.2011(UTC) Сообщений: 74 Откуда: Moscow
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close