| ||||
| ||||
Я использую следующий код для проверки валидности сертификата 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 по прописанному адресу доступен. В чем еще может быть дело? | ||||
Ответы: | ||||
| ||||
А когда я проверяю родительский сертификат 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); то он валиден | ||||