Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline msberyanov  
#1 Оставлено : 13 января 2022 г. 18:04:18(UTC)
msberyanov

Статус: Участник

Группы: Участники
Зарегистрирован: 21.12.2021(UTC)
Сообщений: 12

Сказал(а) «Спасибо»: 3 раз
Добрый вечер. Требования такие: проверять сертификаты в другом месте, в КриптоПро нужно просто подписывать данные (без необходимости ставить сертификаты УЦ локально). Следующий код не работает, пытаюсь подписать документ форматом CADES-BES. В чем может быть проблема? Продолжаю получать ошибку: "A certificate chain processed correctly, but terminated in a root certificate which is not trusted by the trust provider (0x800B0109)". Сертификаты УЦ специально удалил, чтобы подписывать без них.

Код:
let cadesSigner;
        let cadesSignedData;

        try {
          cadesSigner = __cadesAsyncToken__ + __createCadesPluginObject__('CAdESCOM.CPSigner');
          cadesSignedData = __cadesAsyncToken__ + __createCadesPluginObject__('CAdESCOM.CadesSignedData');
        } catch (error) {
          console.error(error);

          throw new Error(_extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи');
        }

        try {
          void (__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));
          void (__cadesAsyncToken__ + cadesSigner.propset_CheckCertificate(false));
          void (__cadesAsyncToken__ + cadesSignedData.propset_Content(unencryptedMessage));
        } catch (error) {
          console.error(error);

          throw new Error(_extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи');
        }

        let signature: string;

        try {
          signature = __cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, cadesplugin.CADESCOM_CADES_BES);
        } catch (error) {
          console.error(error);

          throw new Error(_extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');
        }

        return signature;

Отредактировано пользователем 13 января 2022 г. 18:07:58(UTC)  | Причина: Не указана

Offline msberyanov  
#2 Оставлено : 13 января 2022 г. 18:06:40(UTC)
msberyanov

Статус: Участник

Группы: Участники
Зарегистрирован: 21.12.2021(UTC)
Сообщений: 12

Сказал(а) «Спасибо»: 3 раз
При этом ранее при подписывании XADES-BES устранить проверку сертификата удалось:

Код:
        try {
          void (__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));
          void (__cadesAsyncToken__ + cadesSigner.propset_CheckCertificate(false));
          void (__cadesAsyncToken__ + cadesSignedXML.propset_Content(sContent));
          void (
            __cadesAsyncToken__ +
            cadesSignedXML.propset_SignatureType(
              cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE | cadesplugin.CADESCOM_XADES_BES,
            )
          );
        } catch (error) {
          console.error(error);

          throw new Error(_extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи');
        }

        let signature: string;

        try {
          signature = __cadesAsyncToken__ + cadesSignedXML.Sign(cadesSigner);
        } catch (error) {
          console.error(error);

          throw new Error(_extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');
        }

        return signature;


Код выше работает, ошибку не выдает, здесь также имеется,
Код:
void (__cadesAsyncToken__ + cadesSigner.propset_CheckCertificate(false));

Отредактировано пользователем 13 января 2022 г. 18:07:11(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.