30.11.2006 11:51:53Почему может не отрабатывать функция CertGetCertificateChain при проверке сертификата на отозванность? Ответов: 9
Николай
CertGetCertificateChain прекрасно работала при проверке сертификата на отозванность. Но однажды стала всегда давать TrustStatus.dwErrorStatus = 0x01000040. Т.е. не удалось ей удаленно его получить и список не установлен локально. Но локально все установлено, списки все доступны. Например, сертификаты с Test Center Crypto-Pro. Ошибка - локлаьной системы, т.к. на других системах все работает нормально. В чем может быть проблема?
 
Ответы:
30.11.2006 13:02:09Kirill Sobolev
Мб истек срок локально установленного CRL?
01.12.2006 9:56:46Николай
Нет, не истек. Стоит последний. Так же при проверке она ползет в сеть по точкам распространения. Но в любом случае не находит связанного с сертификатом CRL. Что могло нарушиться?
01.12.2006 10:16:04Василий
CertGetCertificateChain так ведёт себя для всех сертификатов или только для сертификатов конкретного ЦС?
01.12.2006 10:48:15Николай
По всей видимости на всех, но на 100% не уверен. Причем, ругается на все сертификаты в цепочке - включая корневой:(.
01.12.2006 14:11:26Василий
И даже на сертификаты с алгоритмом не-ГОСТ?
Сообщите, плиз, значение параметра "Dll" в разделе реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 1\CertDllVerifyRevocation\DEFAULT
01.12.2006 15:04:17Николай
Получил на вашем ТЦ сертификат с помощью MS Base CP 1.0. Одна ерудна. Правда, он подписан ГОСТом, так что не знаю, считается ли это:).

А значение там вот такое вот:
F:\Program Files\Crypto Pro\CSP\cprevchk.dll
Мне кажется, что тут собака и порылась, я прав?

01.12.2006 15:06:44Николай
Просто нет у меня этого файла. По-моему, я как-то экспериментировал с вашим компонентом RуvocatinProvider...:)
01.12.2006 17:50:25Василий
Замените эту строку на:
cryptnet.dll

и перезагрузите.
01.12.2006 18:01:04Николай
Да, спасибо за помощь в решении проблемы, я так и сделал уже:).