IolaCom метод ValidateDoc зависает при выполении
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: IolaCom метод ValidateDoc зависает при выполении

IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1474

  • SMART
  • Осваиваюсь на форуме
  • Постов: 28
  • Репутация: 0
Работаю на C#, использую IolaCom.dll версии 6.0
Имеется следующий код:
public bool VerifyNcaEds(string cert)
        {
            IIolaCOM2 iola = new IolaCOM2();
            iola.OcspUrl = "http://ocsp.pki.kz:80";
            iola.ValidType = (int)IOLACOM_CERTFLAGS.CC_USE_OCSP_ONLY;
            bool certState = iola.ValidateDoc(cert, DateTime.Now);

            return certState;
        }

На выполнении ValidateDoc просто зависает.
Находил информацию, что может помочь выполнение команды
certutil -urlcache * delete
, но она тоже не прекращает выполнятся, у судя по записям работает с одними и теми же данными.

Re: IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1475

  • SMART
  • Осваиваюсь на форуме
  • Постов: 28
  • Репутация: 0
certutil -urlcache * delete

выполнить удалось, необходимо было остановить Visual Studio
Но метод ValidateDoc все так же зависает, и ничего не возвращает

Начал пробовать использовать CRL, получился такой код:
public bool VerifyNcaEds(string cert)
        {
            IIolaCOM2 iola = new IolaCOM2();
            iola.OcspUrl = "http://ocsp.pki.kz:80";
            iola.CrlFPath = @"C:\Users\user\Desktop\Temp\Rsa0.crl";
            iola.CrlDPath = @"C:\Users\user\Desktop\Temp\Rsa0_delta.crl";
            //iola.CrlFUrl = "http://ocsp.pki.kz:80/Rsa0.crl";
            //iola.CrlDUrl = "http://ocsp.pki.kz:80/Rsa0_delta.crl";
            iola.UseSSCert = true;
            iola.ValidType = (int) IOLACOM_CERTFLAGS.CC_USE_CRL_ONLY;
            var certState = iola.ValidateDoc(cert, DateTime.Now);

            return certState;
        }

Если сертификат не отозванный, то функция возвращает true, все нормально. Но если отозванный, то возвращает исключение с таким текстом: "Check chain engine: check certificates chain in full crl - one of certificates is revoked". Это правильно?
Так же если я пытаюсь указывать не файлы, а URL то появляется исключение: "Check chain engine: read full crl - crl is not allowed"

Re: IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1476

  • ugotbug
  • Завсегдатай
  • Постов: 225
  • Репутация: 14
Возможно у вас проблема с сетью.
1) Попробуйте выполнить команду
telnet ocsp.pki.kz 80
. Отвечает ли сервер?
2) Попробуйте осуществить загрузку файла CRL через браузер. Происходит ли загрузка?
Могущественный обладатель кольца Знаний

Re: IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1477

  • SMART
  • Осваиваюсь на форуме
  • Постов: 28
  • Репутация: 0
1) Сервер отвечает "пустотой" не знаю правильно ли это. По моему мне удалось побороть эту проблему с зависанием, я переустановил iolacom.dll. Теперь если сертификат отозванный возвращает исключение: "Check chain engine: check certificate status by ocsp - certificate is revoked/expired" - это правильно? Если сертификат действительный, то метод возвращает true.
2) Да загрузка выполняется.

Re: IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1478

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Здравствуйте!

Если перевести "certificate is revoked/expired", то это значит "сертификат отозван/просрочен".
Т.е. это правильный ответ в Вашем случае.
Модератор

Re: IolaCom метод ValidateDoc зависает при выполении 4 года, 6 мес. назад #1479

  • SMART
  • Осваиваюсь на форуме
  • Постов: 28
  • Репутация: 0
Да я переводил, просто меня насторожило то, что по сути штатная ситуация, когда сертификат отозван, генерирует исключение и ожидал от функции просто false. Спасибо за ответы.
  • Страница:
  • 1
FaLang translation system by Faboba