06.09.2006 11:57:51Проверка валидности сертификата Ответов: 1
Иван Артюхин
Я использую следующий код для проверки валидности сертификата

var selectedCert = Certificates.Item(1);
var certStatus = selectedCert.IsValid();
certStatus.CheckFlag=(CAPICOM_CHECK_TRUSTED_ROOT | CAPICOM_CHECK_TIME_VALIDITY | CAPICOM_CHECK_SIGNATURE_VALIDITY | CAPICOM_CHECK_ONLINE_REVOCATION_STATUS);
if (certStatus.Result) {
retStr = createSignature(selectedCert, text);
} else {
alert('Выбран невалидный сертификат');
var Chain = new ActiveXObject("CAPICOM.Chain");
var Certificate=selectedCert;
Chain.Build(Certificate);

Сертификат оказывается невалидным(хотя он валидный). Статус - CAPICOM_TRUST_REVOCATION_STATUS_UNKNOWN

В сертификате прописан cdp; crl по прописанному адресу доступен.

В чем еще может быть дело?

 
Ответы:
06.09.2006 15:21:35Иван Артюхин
А когда я проверяю родительский сертификат

var rootCert = Chain.Certificates.Item(certCount);
var rootCertStatus = rootCert.IsValid();
rootCertStatus.CheckFlag=(CAPICOM_CHECK_TRUSTED_ROOT | CAPICOM_CHECK_TIME_VALIDITY | CAPICOM_CHECK_SIGNATURE_VALIDITY | CAPICOM_CHECK_ONLINE_REVOCATION_STATUS);

то он валиден