Некорректное двойное подписание с одним ключом

Добрый день.
Версия PHP 8.2.20
KalkanCrypt version => v.2.0.10
OpenSSL version => OpenSSL 1.1.1d 25 Sep 2019 (pki.gov.kz) Kalkan-crypt 1.1.1

При двойном подписании некорректно себя ведет при подписании одним и тем же ключом.
NCANode в этой же ситуации возвращает корректный документ.

include "Kalkan.php";
$container = "./cert1.p12";
    $password = "xxxx";
    $alias = "";
    $inData = 'test message';
    $outSign = "";
    KalkanCrypt_Init();
    $storage = Kalkan::KCST_PKCS12;
    KalkanCrypt_LoadKeyStore($storage, $password, $container, $alias);
    $flags_sign = Kalkan::KC_SIGN_CMS | Kalkan::KC_OUT_PEM | Kalkan::KC_WITH_CERT;
    KalkanCrypt_SignData($alias, $flags_sign, $inData, $outSign);

    //если второй раз подписываем другим ключом, то все работает корректно
    // $container = "./cert2.p12";
    // $password = "yyyy";

    //вторая подпись тем же ключом
    $storage = Kalkan::KCST_PKCS12;
    KalkanCrypt_LoadKeyStore($storage, $password, $container, $alias);
    $flags_sign =  Kalkan::KC_SIGN_CMS | Kalkan::KC_OUT_PEM | Kalkan::KC_WITH_CERT | Kalkan::KC_IN_PEM;
    $code = KalkanCrypt_SignData($alias, $flags_sign, "", $outSign));
    var_dump($code); //int(0) - ошибок нет
    var_dump($outSign); //string(0) "" - вместо подписанного документа пустое значение

Здравствуйте! В библиотеках PHP/C/COM не поддерживается множественная подпись одним и тем же ключом.

Я полагаю что в этом случае:

  1. подобные ограничения должны быть описаны в документации
  2. библиотека должна возвращать понятную ошибку, чтобы не приходилось гадать о причинах пустого результата.
2 Симпатий