Скачал боевые CRL НУЦ по адресам:
crl.pki.gov.kz/rsa.crl
crl.pki.gov.kz/d_rsa.crl
При проверке дат этих CRL оказалось, что они просрочены: crl.nextUpdate = 26.09.2015
Вопросы:
1. Нужно ли проверять файлы CRL на срок действия?
2. Когда выйдут новые, актуальные CRL?
3. Сертификаты из XML подписи мы проверяем на CRL НУЦа, а для чего нужны CRL от КУЦ?
Код проверки сертификата на отозванность (C#):
using (BIO crlBio = BIO.File(@"Assets\2015 Production\CRLs\Nuc\Rsa.crl", "rb"))
{
using (X509_CRL crl = X509_CRL.FromDER(crlBio))
{
//проверка CRL по дате
DateTime currentDate = DateTime.Now;
if (crl.nextUpdate < currentDate || crl.lastUpdate > currentDate)
throw new KalkanException("Невозможно провести проверку на отозванность. CRL недействителен.");
using (X509StoreContext x509StoreContext = new X509StoreContext())
{
//проверка сертификата по CRL на отозванность
int crlCheckRes = x509StoreContext.checkByCrl(crl, certificate);
if (crlCheckRes != 1)
throw new KalkanException("Сертификат отозван, по данным CRL");
}
}
}