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

Уведомление

Icon
Error

23 Страницы«<23456>»
Опции
К последнему сообщению К первому непрочитанному
Offline cross  
#31 Оставлено : 26 августа 2015 г. 13:23:49(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Цитата:
А вот в ie не работает, пишет "Плагин не загружен". Или на тестовой версии так и должно быть? IE 11, в доверенные узлы сайт www.cryptopro.ru добавлен.

В IE в ближайшее время эта страница и не будет работать. Она предназначена только для Chromium based браузеров.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline VoimiX  
#32 Оставлено : 26 августа 2015 г. 13:27:36(UTC)
VoimiX

Статус: Активный участник

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 5 раз в 2 постах
Автор: cross Перейти к цитате
Цитата:
А вот в ie не работает, пишет "Плагин не загружен". Или на тестовой версии так и должно быть? IE 11, в доверенные узлы сайт www.cryptopro.ru добавлен.

В IE в ближайшее время эта страница и не будет работать. Она предназначена только для Chromium based браузеров.


OK

Просто в коде я увидел проверки на IE и подумал, что в ie тоже будет работать
Offline VoimiX  
#33 Оставлено : 26 августа 2015 г. 14:52:15(UTC)
VoimiX

Статус: Активный участник

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 5 раз в 2 постах
Вопрос по использованию нового плагина.

Вот у вас есть следующая строчка https://www.cryptopro.ru.../demopage/async_code.js, строка 279

Код:

    }, certListBoxId); //cadesplugin.async_spawn


Не совсем понятно этот certListBoxId передаётся в сам плагин?

Просто у нас на странице нет никаких списков выбора сертификатов. Отпечаток сертификата уже известен при открытии страницы.

Вот исправленная ф-ия SignCadesBES под наши нужды

Код:

function sign(dataToSign) {

    cadesplugin.async_spawn(function*(arg) {
        var PluginObject;
        //var e = document.getElementById(arg[0]);
        //var selectedCertID = e.selectedIndex;
        //if (selectedCertID == -1) {
        //    alert("Select certificate");
        //    return;
        //}

        var thumbprint = '‎a145929a81885726e8ddfe73d6ae4fd5429b734d';//e.options[selectedCertID].value.split(" ").reverse().join("").replace(/\s/g, "").toUpperCase();
        try {
            PluginObject = yield cpcsp_chrome_nmcades.CreatePluginObject();
            var oStore = yield cadesplugin.CreateObjectAsync("CAPICOM.store");
            yield oStore.Open();
        } catch (err) {
            alert('Failed to create CAPICOM.store: ' + err.number);
            return;
        }

        var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
        var all_certs = yield oStore.Certificates;
        var oCerts = yield all_certs.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);

        if (yield oCerts.Count == 0) {
            alert("Certificate not found");
            return;
        }
        var certificate = yield oCerts.Item(1);

        var dataToSign = dataToSign;// document.getElementById("DataToSignTxtBox").value;
        var SignatureFieldTitle = document.getElementsByName("SignatureTitle");
        var Signature;
        try
        {
            //FillCertInfo(certificate);
            var errormes = "";
            try {
                var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
            } catch (err) {
                errormes = "Failed to create CAdESCOM.CPSigner: " + err.number;
                throw errormes;
            }
            var oSigningTimeAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");

            var CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
            yield oSigningTimeAttr.propset_Name(CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
            var oTimeNow = new Date();
            yield oSigningTimeAttr.propset_Value(oTimeNow);
            var attr = yield oSigner.AuthenticatedAttributes2;
            yield attr.Add(oSigningTimeAttr);


            var oDocumentNameAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
            var CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
            oDocumentNameAttr.propset_Name(CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME);
            oDocumentNameAttr.propset_Value("Document Name");
            yield attr.Add(oDocumentNameAttr);

            if (oSigner) {
                oSigner.propset_Certificate(certificate);
            }
            else {
                errormes = "Failed to create CAdESCOM.CPSigner";
                throw errormes;
            }


            var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
            var CADES_BES = 1;

            if (dataToSign) {
                // Данные на подпись ввели
                oSignedData.propset_Content(dataToSign);
                oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN
                try {
                    Signature = yield oSignedData.SignCades(oSigner, CADES_BES);
                }
                catch (err) {
                    errormes = "Не удалось создать подпись из-за ошибки: " + GetErrorMessage(err);
                    throw errormes;
                }
            }
            //document.getElementById("SignatureTxtBox").innerHTML = Signature;

            alert(Signature);
            //SignatureFieldTitle[0].innerHTML = "Подпись сформирована успешно:";
        }
        catch(err)
        {
            //SignatureFieldTitle[0].innerHTML = "Возникла ошибка:";
            //document.getElementById("SignatureTxtBox").innerHTML = err;
            alert('err2:' + err);
        }
    }, certListBoxId); //cadesplugin.async_spawn
    }


Естественно, что ругается на certListBoxId, т.к. он не объявлен.

Как быть? Что туда передавать в нашем случае?

Все необходимые исходные данные есть - данные для подписи dataToSign и отпечаток для подписи thumbprint
И непонятно, что в нашем случае передавать вместо certListBoxId.

Отредактировано пользователем 26 августа 2015 г. 15:14:33(UTC)  | Причина: Не указана

Offline cross  
#34 Оставлено : 26 августа 2015 г. 15:17:29(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
certListBox попадает в arg[0] внутрь function*(arg). Если он вам не нужен, то уберите его полностью.

Если вы вызываете
Код:
cadesplugin.CreateObjectAsync("CAPICOM.store");

то вот это
Код:
PluginObject = yield cpcsp_chrome_nmcades.CreatePluginObject();

вам не нужно. Оно происходит внутри обьекта cadesplugin
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline cross  
#35 Оставлено : 26 августа 2015 г. 15:20:24(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Обновили расширение и файл cadesplugin_api.js. С новой версией плагин должен работать с iframe в том числе. Для проверки добавил
http://www.cryptopro.ru/...e/iframe_async_test.html
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline ve2  
#36 Оставлено : 26 августа 2015 г. 17:23:55(UTC)
ve2

Статус: Активный участник

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

Поблагодарили: 3 раз в 3 постах
Автор: cross Перейти к цитате
Обновили расширение и файл cadesplugin_api.js. С новой версией плагин должен работать с iframe в том числе. Для проверки добавил
http://www.cryptopro.ru/...e/iframe_async_test.html


Где обновили? Откуда брать?

Cкачиваю плагин со страницы примера
https://www.cryptopro.ru...cts/cades/plugin/get_2_0
скачивается та же версия, что была на прошлой неделе.

Скачиваю из последнего поста cross #25
https://www.cryptopro.ru...c_plugin/cadesplugin.exe
там версия 2.0.12225

Устанавливаю 2.0.12225 с опцией -cadesargs "CHROME_EXTENSION=1" предварительно удалив стоявшую версию.
Расширение из магазина приложений ставится "CryptoPro Extension for CAdES Browser Plug-in 1.0.9"

На демостранице без фрейма работает (написано "Плагин загружен. Версия плагина: 2.0.12225").
На демостранице внутри фрейма написано "Плагин не доступен".

Пожалуйста, в сообщениях о появлении новой версии сразу в сообщении давайте проверенные ссылки
на всё необходимое (плагин, расширение, cadesplugin_api.js, демо) и указывайте номера этих новых версий!

Offline ve2  
#37 Оставлено : 26 августа 2015 г. 18:16:40(UTC)
ve2

Статус: Активный участник

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

Поблагодарили: 3 раз в 3 постах
Уточнения относительно (не)работы во фрейме (плагин 2.0.12225, chrome 44.0.2403.157, win7)

Странные манипуляции:

1. Открываю новую вкладку в chrome, в адресную строку вставляю ссылку http://www.cryptopro.ru/.../iframe_async_test.html, нажимаю Enter
результат - "Плагин не доступен"

2. Ставлю курсор в адресную строку, адрес не меняю, просто нажимаю Enter
результат - "Плагин загружен", подпись работает

3. Нажимаю Ctrl+R или кнопку "Обновить"
результат - "Плагин не доступен"
по обновить никогда не работает, даже подряд после 2 шага.

То есть больше не работает, чем работает :(

Если страницу iframe_async_test.html положить на другой (свой) домен (ссылку в iframe не трогаем) - "Плагин не загружен" что ни делай.

В нашем приложении во фрейме тоже не работает.
Offline paradoxm  
#38 Оставлено : 26 августа 2015 г. 21:31:06(UTC)
paradoxm

Статус: Активный участник

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

Сказал «Спасибо»: 1 раз
Автор: cross Перейти к цитате
Обновили расширение и файл cadesplugin_api.js. С новой версией плагин должен работать с iframe в том числе. Для проверки добавил
http://www.cryptopro.ru/...e/iframe_async_test.html


Сравнил файл cadesplugin_api.js ваш и тот что я качал несколько дней назад, они идентичны. Где свежий брать?
Offline paradoxm  
#39 Оставлено : 26 августа 2015 г. 21:33:06(UTC)
paradoxm

Статус: Активный участник

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

Сказал «Спасибо»: 1 раз
Автор: Смирнов Перейти к цитате
Автор: cross Перейти к цитате
Это еще бета-версия, перед тем как рекомендовать ее пользователям проверьте на вашем приложении.

Дополню коллегу. Не рекомендуется распространять эту версию пользователям. Релизная версия, скорее всего, не сможет корректно обновить эту бета-версию.


Что это значит? Нельзя будет удалить через панель управления? Сейчас все равно так же делаем.
Offline cross  
#40 Оставлено : 27 августа 2015 г. 10:06:11(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Автор: paradoxm Перейти к цитате
Автор: cross Перейти к цитате
Обновили расширение и файл cadesplugin_api.js. С новой версией плагин должен работать с iframe в том числе. Для проверки добавил
http://www.cryptopro.ru/...e/iframe_async_test.html


Сравнил файл cadesplugin_api.js ваш и тот что я качал несколько дней назад, они идентичны. Где свежий брать?


На сайте лежит свежий (https://www.cryptopro.ru/sites/default/files/products/cades/cadesplugin_api.js)
Попробуйте еще раз скачать, может закешировался браузером или еще кем
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
23 Страницы«<23456>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.