Как получить файл .sign

Автор Almat91, 29 Июль 2015, 16:19:50

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Вниз

Almat91

Подскажите как получить файл .sign?

Сейчас подпись в виде строки, но УЦГО не принимает такую подпись, требуют файл

var hash = '#{javascript: var base64EncodedDoc = new kz.my.cert.utils.getHashCodeFromDoc(); return base64EncodedDoc.getHashChief(srDocument.getDocument());}';
var signedData = createPkcs7_Str(device, hash, 1, false, object, password, 'gost', '1.3.6.1.4.1.6801.1.2.1')
document.getElementById('#{id:signDataChief}').value = signedData;

Код который подписывает сейчас. Работает через апплет на странице

В библиотеке не нашел функцию который делал бы что нибудь похожее на файл, хотя я бегло осмотрел.

Sergey

Добрый день.
Для получения файла .sign нужно знать его формат.
Какую библиотеку используете?

Almat91

Честно говоря, мне ЭЦП просто скинули. До этого другой сотрудник разрабатывал, уволился. Так что извиняюсь если немного не то говорю)

Насколько я понял все зависит от этих файлов

crypto-hardware.jar
crypto.gammaprov.jar
commons-logging.jar
sign-applet.jar
xmlsec-1.3.0.jar

Надеюсь я ответил на ваш вопрос)

Almat91

Никто не может мне помочь?

Дайте какой нибудь пример хотя бы(

Sergey

Тут сложно дать какой нибудь ответ, когда нет понимания что именно надо.
В текущих библиотеках есть методы работы с файловой системой:
crypto-hardware.jar - kz.gamma.hardware.core.file
Пример сохранения данных в файл:
FileHelper fileHelper = new FileHelper();
fileHelper.saveData("данные для сохранения".getBytes(), "C:\\file.bin");

Мы также не разрабатывали систему УЦГО и нам не известны форматы файлов.
Можно предположить что для того чтобы сохранить текущую подпись из первого примера нужно вызвать функцию:
/**
     * Сохранение данных в файл. Данные должны быть закодированы в BASE64 кодировке.
     * Перед сохранением данных они декодируются из BASE64.
     *
     * @param data Данные для сохранения в BASE64 кодировке
     * @param path Путь к файлу
     * @return true, если все ок. Если возвратился false, значит данные не были сохранены.
     * В этом случае смотрите лог Java Console.
     * Получить последнюю возникшую ошибку можно через метод {@link #getLastError()}
     */
    public boolean saveData(String data, String path)

Данная функция тоже экспортируется из библиотеки crypto-hardware.jar, в классе CryptoApplet.

Вверх