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

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Писарев  
#21 Оставлено : 22 ноября 2019 г. 13:49:24(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Версии КриптоПро ЭЦП SDK

Цитата:

Поддерживается тип подписи CAdES BES, CADES-T и CADES-X LONG TYPE 1,
что позволяет разнести по времени процессы создания ЭЦП и дополнения до УЭЦП.
Техническую поддержку оказываем тут
Наша база знаний
Offline Aleksei Neverov  
#22 Оставлено : 22 ноября 2019 г. 14:15:27(UTC)
Aleksei Neverov

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

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

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах
Андрей, спасибо большое!

Я, в принципе, нашел способ получить CMS в виде некодированные данные + подпись.
Функция SignCades возвращает данные в кодировке Base64. Если я выполняю

Код:
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
yield oSigner.propset_Certificate(oCertificate);
yield oSigner.propset_Options(CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN);
yield oSigner.propset_KeyPin(this.sPin);

var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData"); 
yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_Content(btoa("Test message")); 

var sSignature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_DEFAULT, false);
var sDecodedSignature = atob(sSignature);


то в переменной sDecodedSignature я вижу примерно то, что возвращается КриптоАРМом. Вот только декодированная подпись перестает проверяться с сообщением

Цитата:
Произошла ошибка при проверке документа. Не удалось декодировать CMS. Ошибка: [Данные ASN1 повреждены]. Код: [0x80093103]


Есть ли надежный способ декодировать то, что вернул плагин функцией CadesSign?

Отредактировано пользователем 22 ноября 2019 г. 14:18:33(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#23 Оставлено : 22 ноября 2019 г. 14:23:36(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
в строке 8 - данные нужно кодировать в base64,
т.к. в 7 строке это указано.

Плагин выполняет декодирование в памяти.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#24 Оставлено : 22 ноября 2019 г. 14:26:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
btoa не заметил
Техническую поддержку оказываем тут
Наша база знаний
Offline Aleksei Neverov  
#25 Оставлено : 22 ноября 2019 г. 14:27:22(UTC)
Aleksei Neverov

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

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

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей Писарев Перейти к цитате


Плагин создает только подписи формата CADES


Справочник по ЭЦП SDK - Общее описание


Автор: Андрей Писарев Перейти к цитате
в строке 8 - данные нужно кодировать в base64,
т.к. в 7 строке это указано.

Плагин выполняет декодирование в памяти.


Да, функция btoa это и делает - кодирует строку в Base64.
А можно ли результат подписания раскодировать так, чтобы подпись продолжала проверяться?
Offline Андрей Писарев  
#26 Оставлено : 22 ноября 2019 г. 14:27:46(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
стр.11 - var sDecodedSignature = atob(sSignature);
Не нужно декодировать, передавайте в base64.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#27 Оставлено : 22 ноября 2019 г. 14:28:51(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Подпись - это ASN.1, это бинарные данные - нельзя работать как с простой строкой.

Что требуется?
Показывать то, что было подписано?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#28 Оставлено : 22 ноября 2019 г. 14:29:45(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
sSignature - должна проверяться КриптоАРМ-ом.
Техническую поддержку оказываем тут
Наша база знаний
Offline Aleksei Neverov  
#29 Оставлено : 22 ноября 2019 г. 14:39:43(UTC)
Aleksei Neverov

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

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

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах
В целом, требуется получить CMS в формате, который выдает КриптоАРМ
Примерно так, как во вложении digest_(3).txt.sig (3kb) загружен 13 раз(а). - подписанные данные, затем сама подпись
Offline Андрей Писарев  
#30 Оставлено : 22 ноября 2019 г. 14:47:37(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Автор: Aleksei Neverov Перейти к цитате
В целом, требуется получить CMS в формате, который выдает КриптоАРМ
Примерно так, как во вложении digest_(3).txt.sig (3kb) загружен 13 раз(а). - подписанные данные, затем сама подпись


Через плагин - не получится.
Через другие приложения - да.

КриптоАРМ:


Плагин:


Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Aleksei Neverov оставлено 22.11.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.