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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline monster51  
#1 Оставлено : 26 мая 2020 г. 16:23:46(UTC)
monster51

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

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

добрый день

требуется сделать открепленную подпись для ЦРПТ по медицине
есть примерочная командная строка по получению такой подписи

csptest -sfsign -sign -in <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>test.txt –out <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>out.txt -my "АО Фурацилин" -detached base64 –add

но я хочу получить подпись используя объект CadesSignedData

вот тут нашел, человек получает такую подпись в 1С
https://www.cryptopro.ru...aspx?g=posts&t=13632

делаю по аналогии

ТекстДляПодписи = "тут текст для подписи";
СтрокаОтпечатка = "ОтпечатокСертификата";

CADES_BES = 1;
bDetached = Истина;
CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY = 2;
EncodingType = 0;

oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
oSigner.Certificate = ПолучитьСертификатПоОтпечатку(СтрокаОтпечатка);
oSigner.Options = CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY;
oSigner.KeyPin = "123";

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.Content = СокрЛП(ТекстДляПодписи);
sSignedMessage = oSignedData.SignCades(oSigner, CADES_BES, bDetached, EncodingType);

однако полученную строку base64 не принимает система
в результате работы примерочной команды должен быть получен файл, содержащий так же строку base64
но почему-то оказывается результат не такой же, и я не совсем понимаю почему
причина в том, что надо делать именно через файл и это влияет на результат или же я просто не правильно получаю подпись?
Offline Андрей *  
#2 Оставлено : 26 мая 2020 г. 17:37:38(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Для начала заменить
ТекстДляПодписи = "тут текст для подписи";
на чтение бинарных данных из файла.

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#3 Оставлено : 26 мая 2020 г. 17:44:37(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Автор: monster51 Перейти к цитате

однако полученную строку base64 не принимает система


Потому что подписывалось "не то, что нужно".

"пример":
Цитата:

ДвоичныеДанные = Новый ДвоичныеДанные("D:\test.png");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = Base64Строка(ДвоичныеДанные);
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.