Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2012(UTC) Сообщений: 29 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Плагин заработал, если после загрузки страницы запускать функции через setTimeout. Получается в момент вызова функции плагин ещё не загружен (в коде есть вставка в head script ссылки на js файлы плагина). Как можно узнать, закончил ли загрузку плагин и его уже можно использовать?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2012(UTC) Сообщений: 29 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
С загрузкой разобрался. Код:cadesplugin.then(()=>{
// тут код после загрузки плагина
});
Вылезла другая проблема. Наименования у ключей крякозяблами, хотя на странице проверки работы плагина названия ключей читаемые. Кодировка с которой работает плагин как-то регулируется? у html страницы указан meta charset=utf-8
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2012(UTC) Сообщений: 29 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Автор: bankir1980
Вылезла другая проблема. Наименования у ключей крякозяблами, хотя на странице проверки работы плагина названия ключей читаемые.
Разобрался. Данные с кривой кодировкой возвращает функция Свойство возвращает данные с правильной кодировкой. Только пришлось парсить эту строку, чтобы выделить Owner данные.
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,038 Сказал(а) «Спасибо»: 88 раз Поблагодарили: 223 раз в 211 постах
|
Добрый день! спасибо за обратную связь. в будущих версиях ошибка исправлена. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close