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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline crypto7  
#1 Оставлено : 14 мая 2021 г. 9:19:57(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Доброго дня!

Уважаемые эксперты, интересует такой вопрос. Есть ли возможность с помощью КриптоПро ЭЦП SDK и, в частности, COM-интерфейса (CAdESCOM) подписывать файлы в формате CMS? Используя функцию Sign объекта oSignedData у меня получилось создать файл подписи с расширением ".p7s", который проводник Windows трактует как "Подпись в формате PKCS#7". Не знаю, насколько это верно. Существует ли возможность теми же (или другими) средствами создать подпись в формате CMS? Или я что-то не так понимаю...
Разъясните, пожалуйста.
Offline Андрей *  
#2 Оставлено : 14 мая 2021 г. 9:49:44(UTC)
Андрей *

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

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

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Здравствуйте.
Верно, не понимаете.
Какое отношение расширение имеет к формату, кроме как подсказки для ОС, в каком приложении открывать файл?


Цитата:
Используя функцию Sign объекта oSignedData у меня получилось создать файл подписи с расширением ".p7s", который проводник Windows трактует как "Подпись в формате PKCS#7"

Смените на нужное, если оно Вам известно.

https://www.cryptopro.ru/products/cades/

CAdES = CMS Advanced Electronic Signatures

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
crypto7 оставлено 14.05.2021(UTC)
Offline crypto7  
#3 Оставлено : 14 мая 2021 г. 10:15:41(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Автор: Андрей * Перейти к цитате
Здравствуйте.
Верно, не понимаете.
Какое отношение расширение имеет к формату, кроме как подсказки для ОС, в каком приложении открывать файл?


Цитата:
Используя функцию Sign объекта oSignedData у меня получилось создать файл подписи с расширением ".p7s", который проводник Windows трактует как "Подпись в формате PKCS#7"

Смените на нужное, если оно Вам известно.

https://www.cryptopro.ru/products/cades/

CAdES = CMS Advanced Electronic Signatures



Получается файл подписи, который у меня создается с помощью CAdESCOM как раз и имеет формат CAdES = CMS Advanced Electronic Signatures?

Отредактировано пользователем 14 мая 2021 г. 10:16:15(UTC)  | Причина: Не указана

Offline Андрей *  
#4 Оставлено : 14 мая 2021 г. 10:35:25(UTC)
Андрей *

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

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

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: crypto7 Перейти к цитате


Получается файл подписи, который у меня создается с помощью CAdESCOM как раз и имеет формат CAdES = CMS Advanced Electronic Signatures?


Да
Техническую поддержку оказываем тут
Наша база знаний
Offline crypto7  
#5 Оставлено : 14 мая 2021 г. 12:56:13(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Спасибо!

Можете еще подсказать - что мне необходимо сделать для того, чтобы получить подпись в кодировке BASE64, а не в DER?

При вызове функции

oSignedData.Sign(oSigner, True, CADESCOM_BASE64_TO_BINARY)

на выходе получается файл в кодировке DER, если я правильно понял. Потому что, подписывая тот же файл с помощью КриптоАРМ, и указывая кодировку BASE64, структура файла подписи образуется совершенно отличная от той, что получается в моем случае.

В то же время, если я меняю параметр кодировки в этой функции на

oSignedData.Sign(oSigner, True, CADESCOM_STRING_TO_UCS2LE)

то при проверке подписи КриптоАРМ, появляются два сообщения об ошибке



Как мне все-таки реализовать подпись файла в кодировке BASE64?

Отредактировано пользователем 14 мая 2021 г. 13:07:12(UTC)  | Причина: Не указана

Offline Андрей *  
#6 Оставлено : 14 мая 2021 г. 14:01:13(UTC)
Андрей *

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

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

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Цитата:
Потому что, подписывая тот же файл с помощью КриптоАРМ, и указывая кодировку BASE64, структура файла подписи образуется совершенно отличная от той, что получается в моем случае.


Что\как сравниваете, зачем?

Кодирование в base64 по-умолчанию.
Откройте в том же блокноте, чтобы убедиться (или на демо-страницах это видно).

Ранее давал ссылку: https://docs.cryptopro.r.../icpsigneddata2signcades
Цитата:
EncodingType:
По умолчанию CAPICOM_ENCODE_BASE64. В КриптоПро ЭЦП Browser plug-in кодировка DER (параметр CAPICOM_ENCODE_BINARY) не поддерживается
Техническую поддержку оказываем тут
Наша база знаний
Offline crypto7  
#7 Оставлено : 14 мая 2021 г. 16:09:52(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Автор: Андрей * Перейти к цитате
Цитата:
Потому что, подписывая тот же файл с помощью КриптоАРМ, и указывая кодировку BASE64, структура файла подписи образуется совершенно отличная от той, что получается в моем случае.


Что\как сравниваете, зачем?

Кодирование в base64 по-умолчанию.
Откройте в том же блокноте, чтобы убедиться (или на демо-страницах это видно).

Ранее давал ссылку: https://docs.cryptopro.r.../icpsigneddata2signcades
Цитата:
EncodingType:
По умолчанию CAPICOM_ENCODE_BASE64. В КриптоПро ЭЦП Browser plug-in кодировка DER (параметр CAPICOM_ENCODE_BINARY) не поддерживается


Я использую COM-интерфейс и среду программирования Delphi 7. Поменял кодировку в функции на CAPICOM_ENCODE_BASE64.

При открытии подписи блокнотом, формат вроде бы похож на тот, который и должен быть у файла в кодировке BASE64. Но при попытке "Проверить подпись..." в КриптоАРМ, программа мне сообщает, что "Расшифрованный файл не является подписью (0x80070057)". При нажатии в КриптоАРМ кнопки "Снять и проверить ЭП" показывается сообщение об "ошибке декодирования ASN1-данных (0x80004005).
Offline Андрей *  
#8 Оставлено : 14 мая 2021 г. 16:38:01(UTC)
Андрей *

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

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

Сказал «Спасибо»: 493 раз
Поблагодарили: 2034 раз в 1578 постах
Использовал и этот вариант, проблем не было.
Приложи файл.
Техническую поддержку оказываем тут
Наша база знаний
Offline crypto7  
#9 Оставлено : 17 мая 2021 г. 9:15:18(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Автор: Андрей * Перейти к цитате
Использовал и этот вариант, проблем не было.
Приложи файл.


Вот исходный файл, который подписываю. s1.txt (1kb) загружен 7 раз(а).
Offline crypto7  
#10 Оставлено : 17 мая 2021 г. 12:42:53(UTC)
crypto7

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

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

Сказал(а) «Спасибо»: 15 раз
Пробовал и другие файлы - в формате .pdf. Результат одинаковый - ошибка ASN1-данных...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.