Ошибка при проверке по CRL (OldOids)
(0 чел.) 
  • Страница:
  • 1

ТЕМА: Ошибка при проверке по CRL (OldOids)

Ошибка при проверке по CRL (OldOids) 3 года, 10 мес. назад #1947

  • opewix
  • Осваиваюсь на форуме
  • Постов: 33
  • Репутация: 0
ManagedOpenSsl

Проверяю сертификаты на отозванность по CRL основному и дельта (из подписанного XML документа).

OLD OIDS
CRL файлы взяты с сайта pki 2015-10-23 т.е. они боевые.
Подпись XML делаю сертификатами OldOids из SDK.

RSA FIZ DEISTV 2 - OK
RSA FIZ OTOZV 2 - AccessViolationException (метод x509StoreContext.checkByCrl)
GOSTKZ DEISTV 2 - OK
GOSTKZ OTOZV 2 - AccessViolationException (метод x509StoreContext.checkByCrl)

RSA FIZ DEISTV EXPIRED - OK
RSA FIZ DEISTV OTOZV EXPIRED - ОК (Проверка показала что сертификат не отозван)
GOSTKZ DIESTV EXPIRED - OK
GOSTKZ OTOZV EXPIRED - ОК (Проверка показала что сертификат не отозван)

Так же хочу уточнить, какими CRL файлами нужно проверять подписи, сделанные сертификатами OldOids?

Re: Ошибка при проверке по CRL (OldOids) 3 года, 9 мес. назад #1955

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

Приложите кусок кода, где вы вызываете проверку по CRL.
Для текущих сертификатов (OldOIDs) ссылки на CRL указаны на главной странице сайта pki.gov.kz
Например, crl.pki.kz/crl/Rsa0.crl
Модератор

Re: Ошибка при проверке по CRL (OldOids) 3 года, 9 мес. назад #1956

  • opewix
  • Осваиваюсь на форуме
  • Постов: 33
  • Репутация: 0
                using (BIO crlBio = BIO.File(crlFile, BioFileMode))
                {
                    using (X509_CRL crl = X509_CRL.FromDER(crlBio))
                    {
                        // проверка срока действия CRL
                        if (checkCrlExpDate)
                        {
                            DateTime currentDate = DateTime.Now;
                            if (crl.nextUpdate < DateTime.Now || crl.lastUpdate > currentDate)
                                throw new KalkanCrlExpiredException(string.Format("Срок действия CRL файла {2} истек или еще не наступил. Невозможно провести проверку на отозванность. NextUpdate: {0}, LastUpdate: {1}", crl.nextUpdate, crl.lastUpdate, crlFile), crlFile);
                        }

                        using (X509StoreContext x509StoreContext = new X509StoreContext())
                        {
                            // проверка сертификата на отозванность по CRL
                            // !!!!!!!!!!! Этот метод вызывает Dispose у сертификата
                            int checkCrlResult = x509StoreContext.checkByCrl(crl, userCertificate);
                            if (checkCrlResult != 1)
                                throw new Exception("Сертификат отозван", certSubject, crlFile);
                        }
                    }
                }
  • Страница:
  • 1
FaLang translation system by Faboba