Подпись с меткой времени на JS

Доброго времени суток, есть ли метод у модуля “kz.gov.pki.knca.commonUtils”, который выполняет подпись сразу с меткой времени?
Методы “createCAdESFromBase64” и “createCAdESFromFile” делают это без метки

Здравствуйте, такого метода в модуе Common Bundle нет. Метка добавляется только через дополнительный вызов метода applyCAdEST.

А как же createCMSSignatureFromBase64?

Есть ли варианты реализации такого функционала с другими модулями? Чтобы выполнять подпись сразу с меткой времени и на выходе получать Base64 либо файл

Добрый день! Это означает что пользователю (клиенту) придется два раза подписывать файл? А если хотим этого избежать можно ли будет на серверной части проверить подпись а затем добавить метку времени для хранения подписанного файла?

Есть модуль ezSigner.kz, но так как он не входит в SDK НУЦ РК в случае изменения его методов вы не будете об этом заранее оповещены. Также вашим пользователям нужно будет сообщить о необходимости установки этого модуля, так как он не устанавливается по умолчанию вместе с NCALayer.
Касательно модулей других систем вам нужно обращаться к ним напрямую.

А как же createCMSSignatureFromBase64 ?

Этот метод обозначен как deprecated.

Здравствуйте. Данные подписываются один раз, вы их передаете в виде параметра во второй метод как указано в примере. Вы можете добавить метку на стороне сервера, но стоит учесть что могут возникнуть проблемы связаные с промежутком времени между подписью и созданием метки. В будущем планируется добавление метода, где метку можно ставить одновременно с подписью.

Вы можете на серверной стороне пользоваться сервисом SIGEX (https://sigex.kz/support/info/) для проверки подписи. Он автоматически получит метку времени для подписи и OCSP ответ, то есть соберет все необходимые доказательства для долгосрочного хранения электронных документов.

данный метод еще будет доступен до добавления нового варианта подписания с временной меткой? его можно использовать?

Deprecated методы могут быть удалены в любом из будущих обновлений.

Какой флаг можно использовать для получения сертификата при проверке подписанных данных (_kalkan.verifyData)?
Чтобы в дальнейшем проверить с помощью метода (_kalkan.X509ValidateCertificate). Или оно не требуется?

Добрый день!
Флаг для этого не нужен. В методе VerifyData() есть переменная inCertID. Передайте значение 1, тогда получите в переменной outCert первый сертификат в подписи. Если подписантов несколько, то соответственно другое значение(2,3,…).

Также можете извлечь сертификат из CMS с помощью метода GetCertFromCMS().

Добрый день! Можете объяснит как проверка ведет себя? Я отправляю подписанные данные в формате Base64. И проверка методом verifyData() то возвращает ошибку 0x08F0001B, то проходит проверку. При том что я отправляю для проверки одни и те же данные.

Добрый день!
Отправьте файл с подписью, которая периодически возвращает ошибку при проверке на почту knca@pki.gov.kz.

Какую версию библиотеки используете?

KalkanCryptCOM v2.6.1.5

Добрый день, а какой метод можно использовать, если этот удалиться?

Добрый день. Можно использовать все методы указанные в примере \SDK 2.0\NCALayer\commonbundle_sample

Можно ли эти методы использовать в автомате? Без ручного ввода пароля и указания пути к ключу подписи?

Пароль и путь запрашиваются при каждой операции с ключами в целях безопасности.

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

Получаю такую ошибку:
Sign data

149946439
ERROR 0x8f00047: Get TSA token  - getaddrinfo failed with error: -2.
ERROR 0x8f00047: Get TSA token - FAILED.
ERROR 0x8f00047: Get TSA token - FAILED.

Мне нужно подключить получение времени через?

$tsaurl = "http://tsp.pki.gov.kz:80";
KalkanCrypt_TSASetUrl($tsaurl);

Добавил и проверил.