Atom Лента - Форум КриптоПро - Тема:Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Otdeleniefajjlaotpodpisispomoshch'juinterfejjsaKriptoProEhCPBrowserplug-in-10:1Copyright 2024 Форум КриптоПро2024-03-29T15:35:36Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruКлимhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59602&name=КлимКлимhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59602&name=КлимАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Климhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59602&name=КлимАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Климhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59602&name=КлимАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Климhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59602&name=КлимАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid125492:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer_Alt" width="100%"><tr><td>Заработало, большое спасибо за помощь!</td></tr></table>2021-06-15T11:02:43+03:002021-06-15T11:02:43+03:00Клим<table class="content postContainer_Alt" width="100%"><tr><td>Заработало, большое спасибо за помощь!</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125477:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer" width="100%"><tr><td>т.е. в исходном - подключить Base64Binary.js и внести 2 правки:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.propset_ContentEncoding(1); //CADESCOM_BASE64_TO_BINARY
yield oSignedData.VerifyCades(signature, signType, signDetached);
var initialData = yield oSignedData.Content;
CreateFile(Base64Binary.decode(initialData), fileSignName);</code></pre>
</div></div></td></tr></table>2021-06-12T13:12:14+03:002021-06-12T13:12:14+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>т.е. в исходном - подключить Base64Binary.js и внести 2 правки:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.propset_ContentEncoding(1); //CADESCOM_BASE64_TO_BINARY
yield oSignedData.VerifyCades(signature, signType, signDetached);
var initialData = yield oSignedData.Content;
CreateFile(Base64Binary.decode(initialData), fileSignName);</code></pre>
</div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125476:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer_Alt" width="100%"><tr><td>Об этом написано в <a rel="nofollow" href="https://docs.cryptopro.ru/cades/plugin/content-encoding?id=%d0%9e%d1%81%d0%be%d0%b1%d0%b5%d0%bd%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b-%d1%81-%d0%b1%d0%b8%d0%bd%d0%b0%d1%80%d0%bd%d1%8b%d0%bc%d0%b8-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8" title="https://docs.cryptopro.ru/cades/plugin/content-encoding?id=%d0%9e%d1%81%d0%be%d0%b1%d0%b5%d0%bd%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b-%d1%81-%d0%b1%d0%b8%d0%bd%d0%b0%d1%80%d0%bd%d1%8b%d0%bc%d0%b8-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8">документации</a><br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>Особенности работы с бинарными данными<br /></div></div></td></tr></table>2021-06-12T13:07:02+03:002021-06-12T13:07:02+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>Об этом написано в <a rel="nofollow" href="https://docs.cryptopro.ru/cades/plugin/content-encoding?id=%d0%9e%d1%81%d0%be%d0%b1%d0%b5%d0%bd%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b-%d1%81-%d0%b1%d0%b8%d0%bd%d0%b0%d1%80%d0%bd%d1%8b%d0%bc%d0%b8-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8" title="https://docs.cryptopro.ru/cades/plugin/content-encoding?id=%d0%9e%d1%81%d0%be%d0%b1%d0%b5%d0%bd%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b-%d1%81-%d0%b1%d0%b8%d0%bd%d0%b0%d1%80%d0%bd%d1%8b%d0%bc%d0%b8-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8">документации</a><br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>Особенности работы с бинарными данными<br /></div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125475:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer" width="100%"><tr><td>Да, установить ContentEncoding, проверить, получить и декодировать из base64.<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">
var oSignedData2 = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData2.propset_ContentEncoding(1); //CADESCOM_BASE64_TO_BINARY
yield oSignedData2.VerifyCades(Signature, CADES_BES, detached);
var initialData = yield oSignedData2.Content;
var oMyBlob = new Blob([Base64Binary.decode(initialData)], {type:'application/octet-stream'});
window.open(URL.createObjectURL(oMyBlob));
</code></pre>
</div></div><br /><br />[attach]9740[/attach]</td></tr></table>2021-06-12T13:04:22+03:002021-06-12T13:04:22+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>Да, установить ContentEncoding, проверить, получить и декодировать из base64.<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">
var oSignedData2 = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData2.propset_ContentEncoding(1); //CADESCOM_BASE64_TO_BINARY
yield oSignedData2.VerifyCades(Signature, CADES_BES, detached);
var initialData = yield oSignedData2.Content;
var oMyBlob = new Blob([Base64Binary.decode(initialData)], {type:'application/octet-stream'});
window.open(URL.createObjectURL(oMyBlob));
</code></pre>
</div></div><br /><br />[attach]9740[/attach]</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125474:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=125460#post125460"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Покажите, как смотрите... </div></div><br /><br />Сначала проверяю подпись, потом получаю содержимое подписи и создаю файл с этим содержимым.<br />Но если initialData сразу после получения вывести в консоль или посмотреть с помощью alert, то там уже будут иероглифы.<br />fileSignName - это имя файла присоединённой подписи, у которого было убрано расширение sig.<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">...
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.VerifyCades(signature, signType, signDetached);
var initialData = yield oSignedData.Content;
CreateFile(initialData, fileSignName);
...</code></pre>
</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">function CreateFile(data, filename)
{
var file = new Blob([data], {type: ""});
var a = document.createElement("a"), url = URL.createObjectURL(file);
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}</code></pre>
</div></div><br /><br />Может нужно до или после получения содержимого, преобразовать его из бинарного массива в base64?<br />При создании подписи я использовал:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);</code></pre>
</div></div></td></tr></table>2021-06-12T11:28:57+03:002021-06-12T11:28:57+03:00Клим<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=125460#post125460"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Покажите, как смотрите... </div></div><br /><br />Сначала проверяю подпись, потом получаю содержимое подписи и создаю файл с этим содержимым.<br />Но если initialData сразу после получения вывести в консоль или посмотреть с помощью alert, то там уже будут иероглифы.<br />fileSignName - это имя файла присоединённой подписи, у которого было убрано расширение sig.<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">...
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.VerifyCades(signature, signType, signDetached);
var initialData = yield oSignedData.Content;
CreateFile(initialData, fileSignName);
...</code></pre>
</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">function CreateFile(data, filename)
{
var file = new Blob([data], {type: ""});
var a = document.createElement("a"), url = URL.createObjectURL(file);
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}</code></pre>
</div></div><br /><br />Может нужно до или после получения содержимого, преобразовать его из бинарного массива в base64?<br />При создании подписи я использовал:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript">yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);</code></pre>
</div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125460:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer" width="100%"><tr><td>Покажите, как смотрите... </td></tr></table>2021-06-11T19:38:28+03:002021-06-11T19:38:28+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>Покажите, как смотрите... </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125459:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=125458#post125458"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: Клим Никитский <a href="/forum2/default.aspx?g=posts&m=125457#post125457"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</div></div><br /><br />А что было подписано? </div></div><br /><br />Я подписал файлы txt, jpg и doc.<br /><br />Для txt получился вот такой Content:<br />瑨灴⼺氯捯污潨瑳眯扥灟条獥振摡獥搯歶挮浯眯污㤲㘴㠶㘷ㅟㄹ<br />Для jpg:<br />�က䙊䙉Āā怀怀<br />Для doc:<br />䭐Ѓ<br /><br />Проверил подписи с помощью КриптоАРМ, используя операцию "Снять и проверить ЭП", подписи были проверены успешно и файлы отсоединены корректно.</td></tr></table>2021-06-11T19:15:34+03:002021-06-11T19:15:34+03:00Клим<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=125458#post125458"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: Клим Никитский <a href="/forum2/default.aspx?g=posts&m=125457#post125457"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</div></div><br /><br />А что было подписано? </div></div><br /><br />Я подписал файлы txt, jpg и doc.<br /><br />Для txt получился вот такой Content:<br />瑨灴⼺氯捯污潨瑳眯扥灟条獥振摡獥搯歶挮浯眯污㤲㘴㠶㘷ㅟㄹ<br />Для jpg:<br />�က䙊䙉Āā怀怀<br />Для doc:<br />䭐Ѓ<br /><br />Проверил подписи с помощью КриптоАРМ, используя операцию "Снять и проверить ЭП", подписи были проверены успешно и файлы отсоединены корректно.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125458:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Клим Никитский <a href="/forum2/default.aspx?g=posts&m=125457#post125457"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</div></div><br /><br />А что было подписано? </td></tr></table>2021-06-11T18:39:10+03:002021-06-11T18:39:10+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Клим Никитский <a href="/forum2/default.aspx?g=posts&m=125457#post125457"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</div></div><br /><br />А что было подписано? </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125457:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer_Alt" width="100%"><tr><td>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</td></tr></table>2021-06-11T17:20:37+03:002021-06-11T17:20:37+03:00Клим<table class="content postContainer_Alt" width="100%"><tr><td>Запросил Content, но он состоит из иероглифов.<br />Нужно использовать ещё что-то чтобы его расшифровать?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125450:1Отделение файла от подписи с помощью интерфейса КриптоПро ЭЦП Browser plug-in<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br /><br />После выполнения проверки подписи, запросите Content</td></tr></table>2021-06-11T10:55:16+03:002021-06-11T10:55:16+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br /><br />После выполнения проверки подписи, запросите Content</td></tr></table>