Atom Лента - Форум КриптоПро - Тема:Открепленная подпись и подписанные данные - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Otkreplennajapodpis'ipodpisannyedannye-10:1Copyright 2024 Форум КриптоПро2024-03-28T18:05:28Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.rutwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceanstwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceansАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Московко С.О.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57396&name=Московко С.О.Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Московко С.О.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57396&name=Московко С.О.Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Московко С.О.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57396&name=Московко С.О.Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Московко С.О.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57396&name=Московко С.О.YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid119039:1Открепленная подпись и подписанные данные<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119031#post119031"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>каким образом можно получить подписанные данные?</div></div>Похоже на путаницу в терминах. Суть вот в чем: указывая bDetached=Truе вы получите только данные структуры открепленной/открепленной подписи без исходного файла (как текст в base64 обычно). Чтобы получить файл открепленной подписи надо просто записать содержимое переменной в файл (декодирование из base64 + запись как двоичных данных по вкусу, ведь многие программы проверки поддерживают base64 и потому в большинстве случаев можно записать как есть, прямо текст в base64). Исходный файл остается нетронутым и его нужно передавать отдельно проверяющей стороне.<br /><br />Указывая bDetached=False вы получите почти такую же структуру, но в ней будет дополнительный элемент, содержащий исходные данные. Это присоединенная подпись. Исходный файл можно не передавать отдельно и проверять так удобнее, но файл подписи может быть намного больше и чтобы использовать исходные данные их надо сначала из подписи выковырять ("снять подпись").<br /><br />В реализации КриптоПро подписание на словах выглядит так: создаете объект Signer (имя класса), указываете сертификат, создаете объект signedData (это имя класса, не надо его на русский переводить как "подписанные данные"), указываете кодировку исходных данных и исходные данные в свойства объекта signedData, вызываете метод Sign объекта signedData, указывая объект Signer и признак отсоединенная ли подпись, перекодируете если нужно, записываете в файл. Проверка - снова создаете объект signedData, если подпись отсоединенная - указываете кодировку и исходные данные в свойства объекта signedData, для присоединенной это не нужно. Потом вызываете метод Verify, указывая данные считанные из файла подписи.</td></tr></table>2020-09-17T10:59:27+03:002020-09-17T10:59:27+03:00two_oceans<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119031#post119031"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>каким образом можно получить подписанные данные?</div></div>Похоже на путаницу в терминах. Суть вот в чем: указывая bDetached=Truе вы получите только данные структуры открепленной/открепленной подписи без исходного файла (как текст в base64 обычно). Чтобы получить файл открепленной подписи надо просто записать содержимое переменной в файл (декодирование из base64 + запись как двоичных данных по вкусу, ведь многие программы проверки поддерживают base64 и потому в большинстве случаев можно записать как есть, прямо текст в base64). Исходный файл остается нетронутым и его нужно передавать отдельно проверяющей стороне.<br /><br />Указывая bDetached=False вы получите почти такую же структуру, но в ней будет дополнительный элемент, содержащий исходные данные. Это присоединенная подпись. Исходный файл можно не передавать отдельно и проверять так удобнее, но файл подписи может быть намного больше и чтобы использовать исходные данные их надо сначала из подписи выковырять ("снять подпись").<br /><br />В реализации КриптоПро подписание на словах выглядит так: создаете объект Signer (имя класса), указываете сертификат, создаете объект signedData (это имя класса, не надо его на русский переводить как "подписанные данные"), указываете кодировку исходных данных и исходные данные в свойства объекта signedData, вызываете метод Sign объекта signedData, указывая объект Signer и признак отсоединенная ли подпись, перекодируете если нужно, записываете в файл. Проверка - снова создаете объект signedData, если подпись отсоединенная - указываете кодировку и исходные данные в свойства объекта signedData, для присоединенной это не нужно. Потом вызываете метод Verify, указывая данные считанные из файла подписи.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119032:1Открепленная подпись и подписанные данные<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119031#post119031"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные?</div></div><br /><br />Ссылка на msdn была выше, примеры есть в sdk для capicom и cpdn от Крипто-Про. </td></tr></table>2020-09-17T10:12:57+03:002020-09-17T10:12:57+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119031#post119031"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные?</div></div><br /><br />Ссылка на msdn была выше, примеры есть в sdk для capicom и cpdn от Крипто-Про. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119031:1Открепленная подпись и подписанные данные<table class="content postContainer_Alt" width="100%"><tr><td>Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные?</td></tr></table>2020-09-17T10:00:28+03:002020-09-17T10:00:28+03:00Московко С.О.<table class="content postContainer_Alt" width="100%"><tr><td>Перефразирую. С помощью библиотеки CAPICOM каким образом можно получить подписанные данные?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119023:1Открепленная подпись и подписанные данные<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119022#post119022"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны. </div></div><br /><br />Подписанные данные - те данные, что подписаны, для проверяющей стороны.<br /></td></tr></table>2020-09-16T22:38:37+03:002020-09-16T22:38:37+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Московко С.О. <a href="/forum2/default.aspx?g=posts&m=119022#post119022"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны. </div></div><br /><br />Подписанные данные - те данные, что подписаны, для проверяющей стороны.<br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119022:1Открепленная подпись и подписанные данные<table class="content postContainer_Alt" width="100%"><tr><td>Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны. </td></tr></table>2020-09-16T21:07:14+03:002020-09-16T21:07:14+03:00Московко С.О.<table class="content postContainer_Alt" width="100%"><tr><td>Я прошу прощения, но я не понял. Где взять подписанные данные? Если это исходный документ, то данные еще не подписаны. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119021:1Открепленная подпись и подписанные данные<table class="content postContainer" width="100%"><tr><td>подписанные данные = то, что было подписано - это исходный документ, его передают отдельно от подписи,<br />на то она и отделенная от данных.<br /><br /></td></tr></table>2020-09-16T20:50:08+03:002020-09-16T20:50:08+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>подписанные данные = то, что было подписано - это исходный документ, его передают отдельно от подписи,<br />на то она и отделенная от данных.<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119020:1Открепленная подпись и подписанные данные<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо. Я так понял, что параметр bDetached должен быть равен true, если надо создать отсоединенную подпись.<br />А не подскажите, где взять подписанные данные? Я так понял, что мы заполняем content, вызываем функцию Sign, с помощью которой получаем подпись. Или это и есть Sign(Signer, false)?</td></tr></table>2020-09-16T20:41:50+03:002020-09-16T20:41:50+03:00Московко С.О.<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо. Я так понял, что параметр bDetached должен быть равен true, если надо создать отсоединенную подпись.<br />А не подскажите, где взять подписанные данные? Я так понял, что мы заполняем content, вызываем функцию Sign, с помощью которой получаем подпись. Или это и есть Sign(Signer, false)?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119019:1Открепленная подпись и подписанные данные<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br /><br /><a rel="nofollow" href="https://docs.microsoft.com/ru-ru/windows/win32/seccrypto/signeddata-sign" title="https://docs.microsoft.com/ru-ru/windows/win32/seccrypto/signeddata-sign">SignedData.Sign</a><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-vb">
SignedData.Sign ( _
[ ByVal Signer ], _
[ ByVal bDetached ], _
[ ByVal EncodingType ] _
)</code></pre>
</div></div><br /><br />Sign(Signer, false) - создаёт присоединенную подпись.</td></tr></table>2020-09-16T19:44:03+03:002020-09-16T19:44:03+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br /><br /><a rel="nofollow" href="https://docs.microsoft.com/ru-ru/windows/win32/seccrypto/signeddata-sign" title="https://docs.microsoft.com/ru-ru/windows/win32/seccrypto/signeddata-sign">SignedData.Sign</a><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-vb">
SignedData.Sign ( _
[ ByVal Signer ], _
[ ByVal bDetached ], _
[ ByVal EncodingType ] _
)</code></pre>
</div></div><br /><br />Sign(Signer, false) - создаёт присоединенную подпись.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119018:1Открепленная подпись и подписанные данные<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день. <br />Необходимо заполнить два параметра:<br />1. signedData - Подписанные данные.<br />2. signature - Отсоединенная подпись контента сообщения в формате Base64String<br />Что то я не могу понять, каким методом это получить. signedData.Sign(Signer, false), как я понял возвращает подписанные данные. Как получить "Открепленную подпись". Или все не так?</td></tr></table>2020-09-16T19:20:46+03:002020-09-16T19:20:46+03:00Московко С.О.<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день. <br />Необходимо заполнить два параметра:<br />1. signedData - Подписанные данные.<br />2. signature - Отсоединенная подпись контента сообщения в формате Base64String<br />Что то я не могу понять, каким методом это получить. signedData.Sign(Signer, false), как я понял возвращает подписанные данные. Как получить "Открепленную подпись". Или все не так?</td></tr></table>