Пересчитываем хеш файла протокола и показываем, что проверено, а что нет
Открываем хранящийся на сервере PDF, заново считаем его SHA-256 и сравниваем с хешем, записанным в момент создания протокола. Совпадение означает, что файл не менялся; расхождение выявляется однозначно. Если файла нет или эталонный хеш не сохранён — проверка не выполняется, и мы пишем об этом прямо.
Берём подпись из файла (/Type /Sig, adbe.pkcs7) и сверяем её
с самими байтами документа средствами ГОСТ-криптографии НУЦ РК: сходится ли математика
подписи и совпадает ли контрольная сумма подписанных данных. Реквизиты подписанта
читаем из самой подписи, а не из нашей базы. Отдельно строим цепочку сертификатов до
корневого сертификата НУЦ РК и сверяем сертификат со списком отозванных НУЦ РК —
на момент подписания, а не на сегодня: отзыв через год после подписания
не делает прошлый документ негодным. Список выпускается раз в сутки, поэтому
для только что подписанного протокола состояние дополнительно спрашиваем у
службы отзыва НУЦ РК (OCSP). Адреса списка и службы берём из самого
сертификата, а подпись их ответов проверяем так же, как подпись документа.
Показываем, была ли получена квитанция RFC 3161 (гос. TSA НУЦ РК) и уходила ли квитанция OpenTimestamps на calendar-сервер, а также совпадает ли записанный в квитанции хеш с текущим файлом. Сами квитанции криптографически не проверяем.
Не обращается к Bitcoin и не сверяет записи в блокчейне, не подтверждает
достоверность содержания зафиксированной страницы. Список отзыва сертификатов
берётся из суточной копии НУЦ РК: отзыв, случившийся уже после её выпуска,
здесь ещё не виден. Квитанция
.ots проверяется отдельно — утилитой ots verify либо
на opentimestamps.org.