Здравствуйте!
В Правилах проверки подлинности электронной цифровой подписи говорится о проверке регистрационного свидетельства ЭЦП (https://adilet.zan.kz/rus/docs/V1500012864). Там 7 пунктов. Пять из них обязательны по умолчанию.
Допустим были скачаны корневой и промежуточный сертификаты с сайта https://pki.gov.kz/ и установлены в системное хранилище Windows. Был подписан файл, в результате чего получили ЭЦП. После проверки подписи методом VerifyData переходим к проверке регистрационного свидетельства.
В документах про метод X509ValidateCertificate() написано следующее:
“Осуществляет проверку сертификата: проверка срока действия, построение цепочки сертификатов, проверка отозванности по OCSP или CRL.”
Правильно ли я понимаю, что с помощью данного метода осуществляются только проверки пунктов 1, 2 и 5 из Правил проверки подлинности электронной цифровой подписи, а именно:
- Проверка срока действия регистрационного свидетельства. (В том числе сроков действия корневого и промежуточного сертификатов)
- Проверка регистрационного свидетельства на отозванность
- Проверка построения корректной цепочки от проверяемого регистрационного свидетельства до доверенного корневого регистрационного свидетельства удостоверяющего центра, с учетом промежуточных регистрационных свидетельств удостоверяющих центров;
Другими словами, с помощью данного метода X509ValidateCertificate() можно выполнить три проверки из Закона, а пункты 3 и 4 - проверка KeyUsage на значения “Цифровая подпись” и “Неотрекаемость” и проверка номера политики регистрационного свидетельства Ceritifcate Policy необходимо выполнить самостоятельно, например, вытащив соотвествующие поля из регистрационного свидетельства KeyUsage и Ceritifcate Policy с помощью метода X509CertificateGetInfo и сравнив их с заданными по умолчанию значениями переменных.