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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline soshelsuma  
#1 Оставлено : 21 января 2025 г. 10:20:46(UTC)
soshelsuma

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
Код:

Код:
function signData() {
  var dataToSign = document.getElementById("dataToSign").value;
  SignCreate(currentSubjectNameFIO, dataToSign);
}

function SignCreate(currentSubjectNameFIO, dataToSign) {
  console.log("ATTENTION!", currentSubjectNameFIO);

  return new Promise(function (resolve, reject) {
    cadesplugin.async_spawn(
      function* (args) {
        var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
        yield oStore.Open(
          cadesplugin.CAPICOM_CURRENT_USER_STORE,
          cadesplugin.CAPICOM_MY_STORE,
          cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
        );

        var oStoreCerts = yield oStore.Certificates;
        var currentUserCertCnt = yield oStoreCerts.Count;

        var oCertificates = yield oStoreCerts.Find(
          cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
          currentSubjectNameFIO
        );
        console.log(currentUserCertCnt);
        if (currentUserCertCnt === 0) {
          err = "Certificate not found: " + currentSubjectNameFIO;
          alert(err);
          args[1](err);
        }
        var oCertificate = yield oCertificates.Item(1);
        var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
        console.log(oSigner);

        yield oSigner.propset_Certificate(oCertificate);
        yield oSigner.propset_CheckCertificate(true);
        yield oSigner.propset_TSAAddress("http://cryptopro.ru/tsp/");

        var oSignedData = yield cadesplugin.CreateObjectAsync(
          "CAdESCOM.CadesSignedData"
        );
        yield oSignedData.propset_Content(dataToSign);
        try {
          var sSignedMessage = yield oSignedData.SignCades(
            oSigner,
            cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1
          );
        } catch (e) {
          err = cadesplugin.getLastError(e);
          alert("Failed to create signature. Error: " + err);
          args[1](err);
        }
        yield oStore.Close();
        return args[0](sSignedMessage);
      },
      resolve,
      reject
    );
  });
}


Проверил дебагом, ошибка появляется на строке

Код:
        var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");


Код ошибки - (0x80092004). cadesplugin_api.js Подключен в HTML.
Версия плагина: 2.0.15260
Версия криптопровайдера: 5.0.13000

Вообще без понятия в чем может быть проблема.
Online Андрей *  
#2 Оставлено : 21 января 2025 г. 11:33:47(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,446
Мужчина
Российская Федерация

Сказал «Спасибо»: 552 раз
Поблагодарили: 2235 раз в 1743 постах
Здравствуйте.

На тестовой странице работает подписание?
На тестовой странице работает подписание с использованием того сертификата, что в var oCertificate?
Техническую поддержку оказываем тут
Наша база знаний
Offline soshelsuma  
#3 Оставлено : 21 января 2025 г. 11:39:51(UTC)
soshelsuma

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
Здравствуйте!

Цитата:
На тестовой странице работает подписание?
На тестовой странице работает подписание с использованием того сертификата, что в var oCertificate?


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