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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bankir1980  
#1 Оставлено : 27 октября 2021 г. 14:25:47(UTC)
bankir1980

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

Группы: Участники
Зарегистрирован: 20.12.2012(UTC)
Сообщений: 29
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Добрый день,

Браузер Chrome. ОС Ubuntu 20.04
Страница проверки работы browser-plugin работает. Получаю список ключей в локальном хранилище. Информацию о ключах смотреть могу.

Цитата:
Плагин загружен.
Версия плагина: 2.0.14071 Версия криптопровайдера: 5.0.12000
Криптопровайдер: Crypto-Pro GOST R 34.10-2012 KC1 CSP


Делаю html страницу, хостинг на http://localhost:3000

Подключаю библиотеку cadesplugin_api.js, которую скачал на странице проверки работы плагина.

В настройках плагина добавил доверенный хост http://localhost:3000


При попытке выполнить код (внутри функции получения списка сертификатов):
Код:
 
 const oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store"),


выдаёт ошибку: Cannot read property 'CreateObjectAsync' of undefined

Посмотрел что происходит внутри этой функции
Код:
 
  // Функция активации асинхронных объектов КриптоПро ЭЦП Browser plug-in
  function CreateObjectAsync(name) {
    return pluginObject.CreateObjectAsync(name);
  }
 


выдает ошибку, так как pluginObject = undefined

Хотя вот этот код в cadesplugin_api.js выполняется и объект инициализируется:

Код:
 
  function set_pluginObject(obj)
  {
    pluginObject = obj;
  }
 



Код скопировал с другого проекта, где функия получения списка сертификатов работает, но там использовался другой компьютер под управлением Windows.

Непонятно, почему теряется pluginObject

Код функции начинается так:

Код:


<script type="text/javascript">

  cadesplugin.set_log_level(window.cadesplugin.LOG_LEVEL_DEBUG);

  const getCertificates = ()=>{
    return new Promise(function (resolve, reject) {

      cadesplugin.async_spawn(function* (args) {
        try {

          const oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store"), // <-Ошибка тут
            certificateList = [];

          yield oStore.Open(
            cadesplugin.CAPICOM_CURRENT_USER_STORE,
            cadesplugin.CAPICOM_MY_STORE,
            cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

Отредактировано пользователем 27 октября 2021 г. 14:26:50(UTC)  | Причина: Не указана

Offline bankir1980  
#2 Оставлено : 27 октября 2021 г. 14:35:10(UTC)
bankir1980

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

Группы: Участники
Зарегистрирован: 20.12.2012(UTC)
Сообщений: 29
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Плагин заработал, если после загрузки страницы запускать функции через setTimeout.
Получается в момент вызова функции плагин ещё не загружен (в коде есть вставка в head script ссылки на js файлы плагина).
Как можно узнать, закончил ли загрузку плагин и его уже можно использовать?
Offline bankir1980  
#3 Оставлено : 28 октября 2021 г. 15:38:28(UTC)
bankir1980

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

Группы: Участники
Зарегистрирован: 20.12.2012(UTC)
Сообщений: 29
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
С загрузкой разобрался.

Код:
cadesplugin.then(()=>{
   // тут код после загрузки плагина
});


Вылезла другая проблема.
Наименования у ключей крякозяблами, хотя на странице проверки работы плагина названия ключей читаемые.

Кодировка с которой работает плагин как-то регулируется? у html страницы указан meta charset=utf-8
Offline bankir1980  
#4 Оставлено : 3 ноября 2021 г. 13:25:17(UTC)
bankir1980

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

Группы: Участники
Зарегистрирован: 20.12.2012(UTC)
Сообщений: 29
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: bankir1980 Перейти к цитате


Вылезла другая проблема.
Наименования у ключей крякозяблами, хотя на странице проверки работы плагина названия ключей читаемые.



Разобрался.
Данные с кривой кодировкой возвращает функция
Код:
certificate.GetInfo(6)

Свойство
Код:
certificate.SubjectName

возвращает данные с правильной кодировкой. Только пришлось парсить эту строку, чтобы выделить Owner данные.
Offline Санчир Момолдаев  
#5 Оставлено : 21 ноября 2021 г. 7:20:40(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Добрый день!
спасибо за обратную связь. в будущих версиях ошибка исправлена.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.