Проверка подписи после перевыпуска ключа

Подписали ключом, после этого ключ перевыпустили. Теперь подписанный файл не проходит проверку.

  • флаг которым отправляю проверку $flags_sign = $KC_IN_BASE64 + $KC_SIGN_CMS + $KC_OUT_PEM;
  • проверяю с помощью KalkanCrypt_VerifyData выдает ошибку
    Error: 149946434
    ERROR 0x8f00042: Verify chain and certificates: - certificate has expired or is not yet valid.
  • проверка через сайт https://ezsigner.kz/ проходит успешно

У нас так же архивные файлы не проходят проверку с той же ошибкой. Флаг $KC_NOCHECKCERTTIME не приводит к ожидаемому результату. SDK 5 дней PHP Linux. Сертификат все равно проверяется и выдает ошибку.
Каким образом можно проверить архивные документы, используя ПО SDK.

Добрый вечер, Нуржан.

Не уверен как это сделать с помощью SDK, но у нас есть API для такой проверки: https://sigex.kz/support/developers/#document-verify-signatures

Добрый день!
В методе KalkanCrypt_VerifyData() можно проверить CMS, с просроченным сертификатом, добавив флаг $KC_NOCHECKCERTTIME.
А вот в методе KalkanCrypt_X509ValidateCertificate() нельзя проверить просроченный сертификат, так как нет параметра “flags”.
В будущем будет добавлен флаг и будет возможность проверки просроченных сертификатов.

Добрый день, Данил.

Но как проверить то, что сертификат не был отозван в момент подписания?

Выдает ошибку
Undefined variable: KC_NOCHECKCERTTIME
смотрю файл kalkanFlags&constants.php, там нету переменной KC_NOCHECKCERTTIME
и здесь нету ничего похожего Описание KalkanCryptPHP.docx

В данный момент средствами библиотек kalkancrypt.so и KalkanCryptCOM.dll такой возможности нет. Т.е. если срок действия сертификата истек, то проверка его на валидность будет всегда выдавать одну информацию - сертификат просрочен. Доработка соответствующего функционала будет произведена в ближайшее время.

Обновленный файл kalkanFlags&constants.php будет доступен в следующем выпуске SDK.
Сейчас выслал по почте данный файл.

1 Симпатия