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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline grigpa  
#1 Оставлено : 3 августа 2017 г. 14:58:27(UTC)
grigpa

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

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

Здравствуйте!
Есть код который прекрасно работает в IE:
Код:

    try {
      var oEData = cadesplugin.CreateObject('CAdESCOM.CPEnvelopedData');
    } catch (err) {
      reject("Ошибка при создании объекта: CAdESCOM.CPEnvelopedData" + err);
    }

    oEData.Recipients.Clear();
    oEData.ContentEncoding = cadesplugin.CADESCOM_BASE64_TO_BINARY;
    oEData.Content = data;
    oEData.Recipients.Add(cert);
    oEData.Decrypt(data);


Как можно эти же данные расшифровать в FF+Chrome(то есть браузерах поддерживающих асинхронную реализацию)

На тестовой страничке встретил вот такой код, но он не работает, падает при расшифровке с ошибкой некорректный параметр:
Код:

      try {
        var oSymAlgo = yield cadesplugin.CreateObjectAsync("cadescom.symmetricalgorithm");
      } catch (err) {
        reject('Ошибка при создании объекта CAdESCOM.symmetricalgorithm: ' + err.number);
      }

      try {
        yield oSymAlgo.GenerateKey();

        var oSesKey = yield oSymAlgo.DiversifyKey();
        var oSesKeyDiversData = yield oSesKey.DiversData;
        var oSesKeyIV = yield oSesKey.IV;
        var EncryptedKey = yield oSymAlgo.ExportKey(cert);

        yield oSymAlgo.ImportKey(EncryptedKey, cert);

        yield oSymAlgo.propset_DiversData(oSesKeyDiversData);
        yield oSesKey.propset_IV(oSesKeyIV);
        var encryptedData = yield oSesKey.Decrypt(data, 1);
        resolve(encryptedData);
      }
      catch (err) {
        reject('Ошибка при расшифровке данных: ' +  + err.number);
      }


Да и по виду он не похож на реализацию в IE. Поиски в интернете работающего примера ни к чему не привели... Помогите, пожалуйста решить эту проблему
Offline grigpa  
#2 Оставлено : 8 августа 2017 г. 15:20:03(UTC)
grigpa

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

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

теперь пытаюсь дешифровать так:
Код:

      try {
        var oEData = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPEnvelopedData');
      } catch (err) {
        reject("Ошибка при создании объекта: CAdESCOM.CPEnvelopedData" + err);
      }
      yield oEData.propset_Content(data); //это данные
      yield oEData.propset_Recipients(cert); //это сертификат

      try {
        yield oEData.Decrypt(data);
      } catch (err) {
        reject(err);
      }


вылетаем с ошибкой
message:
"Not implemented (0x80004001)"
Как правильно указать сертификат в методе propset_Recipients?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.