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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline mcseemcher  
#1 Оставлено : 15 апреля 2020 г. 15:03:59(UTC)
mcseemcher

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

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

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

Вычисляю SHA1 хэш pdf-файла и перегоняю в base64 на бэкенде (проверял на онлайн-кодировщиках, результат сходится)

Код:
    public String GetFileHash (String filepath, String algoritm) throws NoSuchAlgorithmException, IOException {
    	
        MessageDigest digest = MessageDigest.getInstance(algoritm);
        InputStream fis = new FileInputStream(filepath);
        int n = 0;
        byte[] buffer = new byte[8192];
        while (n != -1) {
            n = fis.read(buffer);
            if (n > 0) {
                digest.update(buffer, 0, n);
            }
        }
        
        fis.close();
        
        String encoded = Base64.getEncoder().encodeToString(digest.digest());
        
        return encoded;
    }


Потом в браузере пытаюсь подписать хэш:
Код:
var oSigner = cadesplugin.CreateObject("CAdESCOM.CPSigner");    
    oSigner.Certificate = certObject;


var oSignedData = cadesplugin.CreateObject("CAdESCOM.CadesSignedData");
var oHashedData = cadesplugin.CreateObject("CAdESCOM.HashedData");
    oHashedData.Algorithm = cadesplugin.CADESCOM_HASH_ALGORITHM_SHA1;
    oHashedData.DataEncoding = 0x01;

    //hashbytes -> 184854e4d60bb990325c2f45f2d031147a58c69f
    dataToSign = "GEhU5NYLuZAyXC9F8tAxFHpYxp8=";
    oHashedData.SetHashValue(dataToSign);

var Signature = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);


В итоге получаю ошибку: "Недопустимые данные"
Пожалуйста, подскажите: что я делаю не так?

Offline Андрей *  
#2 Оставлено : 15 апреля 2020 г. 15:12:48(UTC)
Андрей *

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

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

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

Сертификат с ГОСТ-алгоритмом?
Почему хеш не по ГОСТ-2012?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
mcseemcher оставлено 15.04.2020(UTC)
Offline mcseemcher  
#3 Оставлено : 15 апреля 2020 г. 15:17:21(UTC)
mcseemcher

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

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

Сказал(а) «Спасибо»: 2 раз
Да, Алгоритм ключа ГОСТ Р 34.10-2012 256 бит

Я правильно понимаю, что могу подписывать только хэши такого алгоритма?

И, если да, подскажите, пожалуйста, какой нужно указать CADESCOM_HASH_ALGORITHM_?
Offline Андрей *  
#4 Оставлено : 15 апреля 2020 г. 15:25:35(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
из cadesplugin_api.js

Цитата:
cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101;
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
mcseemcher оставлено 15.04.2020(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.