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

Уведомление

Icon
Error

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

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
Автор: Setix Перейти к цитате
В общем в теме очень мало знаю постараюсь описать ситуацию. С 1 января 2020 вводится маркировка лекарственных препаратов. Перед отправкой файлов необходимо их подписывать. В инструкции дан пример подписи через КриптоПро через командную строку:
csptest -sfsign -sign -in <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>test.txt –out <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>out.txt -my "АО Фурацилин" -detached -base64 –add
Теперь собственно вопрос: как можно создать подпись с помощью СOM интерфейса.



Метод ICPSignedData2::SignCades
Цитата:

HRESULT SignCades (
VARIANT Signer,
CADESCOM_CADES_TYPE CadesType,
VARIANT_BOOL bDetached,
CAPICOM_ENCODING_TYPE EncodingType,
BSTR *pVal
);



Должно быть:
Цитата:

oSignedData.SignCades(oSigner,{CADES_BES}1,TRUE,{CAPICOM_ENCODE_BASE64}0);


Техническую поддержку оказываем тут
Наша база знаний
Offline Setix  
#22 Оставлено : 23 сентября 2019 г. 15:37:43(UTC)
Setix

Статус: Участник

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

Спасибо, буду смотреть.
Offline Setix  
#23 Оставлено : 23 сентября 2019 г. 16:00:02(UTC)
Setix

Статус: Участник

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

Андрей, можно ли привести пример использования COM объекта который будет работать аналогично командной строке:

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

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

Отредактировано пользователем 23 сентября 2019 г. 16:00:48(UTC)  | Причина: Не указана

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

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
В коде какая подпись генерируется, исправлено на отсоединенную?
Техническую поддержку оказываем тут
Наша база знаний
Offline Setix  
#25 Оставлено : 23 сентября 2019 г. 17:03:11(UTC)
Setix

Статус: Участник

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

В коде какая подпись генерируется, исправлено на отсоединенную? да в качестве параметра подаю True.
Offline Андрей Писарев  
#26 Оставлено : 23 сентября 2019 г. 17:16:32(UTC)
Андрей *

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
Автор: Setix Перейти к цитате
В коде какая подпись генерируется, исправлено на отсоединенную? да в качестве параметра подаю True.


В ЛС пришлите файл, который подписывали и файл подписи
или сами проверьте утилитой то, что отправляете сервису.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#27 Оставлено : 24 сентября 2019 г. 20:54:25(UTC)
Андрей *

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
Пример, без кодирования в base64:

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

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
Идея понятна, при работе через COM?

Код:
  
Buffer: WideString; 
...
FileStm.ReadBuffer(Buffer[1], FileStm.Size);
...
 oSignedData.ContentEncoding := 0;  
 oSignedData.Content := Buffer; 

Техническую поддержку оказываем тут
Наша база знаний
Offline Setix  
#29 Оставлено : 25 сентября 2019 г. 11:34:16(UTC)
Setix

Статус: Участник

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

Автор: Андрей Писарев Перейти к цитате
Идея понятна, при работе через COM?

Код:
  
Buffer: WideString; 
...
FileStm.ReadBuffer(Buffer[1], FileStm.Size);
...
 oSignedData.ContentEncoding := 0;  
 oSignedData.Content := Buffer; 


Идея понятна, только не понятно почему результат с ошибкой. Видимо в контент не те данные подаю, буду разбираться.
Offline Андрей Писарев  
#30 Оставлено : 25 сентября 2019 г. 12:40:37(UTC)
Андрей *

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

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

Сказал «Спасибо»: 573 раз
Поблагодарили: 2303 раз в 1804 постах
Автор: Setix Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Идея понятна, при работе через COM?

Код:
  
Buffer: WideString; 
...
FileStm.ReadBuffer(Buffer[1], FileStm.Size);
...
 oSignedData.ContentEncoding := 0;  
 oSignedData.Content := Buffer; 


Идея понятна, только не понятно почему результат с ошибкой. Видимо в контент не те данные подаю, буду разбираться.


Мой код не работает?
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.