Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Добрый день. Необходимо заполнить два параметра: 1. signedData - Подписанные данные. 2. signature - Отсоединенная подпись контента сообщения в формате Base64String Что то я не могу понять, каким методом это получить. signedData.Sign(Signer, false), как я понял возвращает подписанные данные. Как получить "Открепленную подпись". Или все не так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2250 раз в 1756 постах
|
Здравствуйте. SignedData.SignКод:
SignedData.Sign ( _
[ ByVal Signer ], _
[ ByVal bDetached ], _
[ ByVal EncodingType ] _
)
Sign(Signer, false) - создаёт присоединенную подпись. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Спасибо. Я так понял, что параметр bDetached должен быть равен true, если надо создать отсоединенную подпись. А не подскажите, где взять подписанные данные? Я так понял, что мы заполняем content, вызываем функцию Sign, с помощью которой получаем подпись. Или это и есть Sign(Signer, false)? Отредактировано пользователем 16 сентября 2020 г. 20:41:50(UTC)
| Причина: Уточнение вопроса
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2250 раз в 1756 постах
|
подписанные данные = то, что было подписано - это исходный документ, его передают отдельно от подписи, на то она и отделенная от данных.
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2250 раз в 1756 постах
|
Автор: Московко С.О.  Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны. Подписанные данные - те данные, что подписаны, для проверяющей стороны. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2250 раз в 1756 постах
|
Автор: Московко С.О.  Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные? Ссылка на msdn была выше, примеры есть в sdk для capicom и cpdn от Крипто-Про. |
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: Московко С.О.  каким образом можно получить подписанные данные? Похоже на путаницу в терминах. Суть вот в чем: указывая bDetached=Truе вы получите только данные структуры открепленной/открепленной подписи без исходного файла (как текст в base64 обычно). Чтобы получить файл открепленной подписи надо просто записать содержимое переменной в файл (декодирование из base64 + запись как двоичных данных по вкусу, ведь многие программы проверки поддерживают base64 и потому в большинстве случаев можно записать как есть, прямо текст в base64). Исходный файл остается нетронутым и его нужно передавать отдельно проверяющей стороне. Указывая bDetached=False вы получите почти такую же структуру, но в ней будет дополнительный элемент, содержащий исходные данные. Это присоединенная подпись. Исходный файл можно не передавать отдельно и проверять так удобнее, но файл подписи может быть намного больше и чтобы использовать исходные данные их надо сначала из подписи выковырять ("снять подпись"). В реализации КриптоПро подписание на словах выглядит так: создаете объект Signer (имя класса), указываете сертификат, создаете объект signedData (это имя класса, не надо его на русский переводить как "подписанные данные"), указываете кодировку исходных данных и исходные данные в свойства объекта signedData, вызываете метод Sign объекта signedData, указывая объект Signer и признак отсоединенная ли подпись, перекодируете если нужно, записываете в файл. Проверка - снова создаете объект signedData, если подпись отсоединенная - указываете кодировку и исходные данные в свойства объекта signedData, для присоединенной это не нужно. Потом вызываете метод Verify, указывая данные считанные из файла подписи. Отредактировано пользователем 17 сентября 2020 г. 10:59:27(UTC)
| Причина: Не указана
|
 1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close