Atom Лента - Форум КриптоПро - Тема:Извлечение сертификата - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Izvlecheniesertifikata-10:1Copyright 2024 Форум КриптоПро2024-03-29T01:55:24Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Андрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *crypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7Анатолий Беляевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=2008&name=Анатолий Беляев4eIIIupKohttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=43861&name=4eIIIupKo4eIIIupKohttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=43861&name=4eIIIupKo4eIIIupKohttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=43861&name=4eIIIupKoАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *4eIIIupKohttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=43861&name=4eIIIupKovorhhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=45367&name=vorhАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid124773:1Извлечение сертификата<table class="content postContainer_Alt" width="100%"><tr><td>Выше есть ссылки на MSDN<br />+<br />документация: <br /><br /><a rel="nofollow" href="https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/cpsigner" title="https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/cpsigner">cpsigner</a><br /><br />[attach]9648[/attach]<br /><br /></td></tr></table>2021-05-13T12:03:53+03:002021-05-13T12:03:53+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>Выше есть ссылки на MSDN<br />+<br />документация: <br /><br /><a rel="nofollow" href="https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/cpsigner" title="https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/cpsigner">cpsigner</a><br /><br />[attach]9648[/attach]<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124770:1Извлечение сертификата<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81213#post81213"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>1. Вы смотрели результат?<br />почему в base64 в каждой строке "\r\n"?<br /><br />2. Чтобы получить сертификат - необходимо выполнить <a rel="nofollow" href="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html" title="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html">проверку подписи</a> (.VerifyCades), тогда будут доступны <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387722.aspx" title="https://msdn.microsoft.com/en-us/library/aa387722.aspx">Signers</a>,<br /><br /><br /><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387732.aspx" title="https://msdn.microsoft.com/en-us/library/aa387732.aspx">Signers object</a><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387736.aspx" title="https://msdn.microsoft.com/en-us/library/aa387736.aspx">Signers.Item</a><br /><br /><br />а у Signer - <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387742.aspx" title="https://msdn.microsoft.com/en-us/library/aa387742.aspx">Signer.Certificate property</a><br />из которого можно получить необходимое.<br /><br /></div></div><br /><br />Андрей, можете сориентировать, какие еще методы кроме Certificate, есть у свойства Signers.Item? Хотелось бы знать, что еще можно извлечь, например, у SignedData.Signers.Item[n]?</td></tr></table>2021-05-13T11:42:58+03:002021-05-13T11:42:58+03:00crypto7<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81213#post81213"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>1. Вы смотрели результат?<br />почему в base64 в каждой строке "\r\n"?<br /><br />2. Чтобы получить сертификат - необходимо выполнить <a rel="nofollow" href="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html" title="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html">проверку подписи</a> (.VerifyCades), тогда будут доступны <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387722.aspx" title="https://msdn.microsoft.com/en-us/library/aa387722.aspx">Signers</a>,<br /><br /><br /><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387732.aspx" title="https://msdn.microsoft.com/en-us/library/aa387732.aspx">Signers object</a><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387736.aspx" title="https://msdn.microsoft.com/en-us/library/aa387736.aspx">Signers.Item</a><br /><br /><br />а у Signer - <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387742.aspx" title="https://msdn.microsoft.com/en-us/library/aa387742.aspx">Signer.Certificate property</a><br />из которого можно получить необходимое.<br /><br /></div></div><br /><br />Андрей, можете сориентировать, какие еще методы кроме Certificate, есть у свойства Signers.Item? Хотелось бы знать, что еще можно извлечь, например, у SignedData.Signers.Item[n]?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid82207:1Извлечение сертификата<table class="content postContainer_Alt" width="100%"><tr><td>Данные сертификата можно получить через метод GetInfo() с нужными параметрами. </td></tr></table>2017-07-31T13:56:23+03:002017-07-31T13:56:23+03:00Анатолий Беляев<table class="content postContainer_Alt" width="100%"><tr><td>Данные сертификата можно получить через метод GetInfo() с нужными параметрами. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81968:1Извлечение сертификата<table class="content postContainer" width="100%"><tr><td>Проблема была в синхронности. Вдруг кому-то пригодится.<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");
try{
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(sBase64Data);
yield oSignedData.VerifyCades(eds.replace(/(\r\n|\n|\r)/gm," "),CADESCOM_CADES_BES,true);
}catch(err){
error_eds("Failed to verify signature. Error: " + cadesplugin.getLastError(err));
return false;
}
var Signers = yield oSignedData.Signers;
console.log(yield Signers.Count);
var Item = yield Signers.Item(1);
console.log(yield Signers.Item(1));
var Certificate = yield Item.Certificate;
console.log(yield Item.Certificate);
AddCertInfoForEDS_Async(Certificate);
</code></pre>
</div></div><br /><br /><br />А еще вопрос как выдрать СНИЛС и другие данные с сертификата?</td></tr></table>2017-07-25T13:00:15+03:002017-07-25T13:00:15+03:004eIIIupKo<table class="content postContainer" width="100%"><tr><td>Проблема была в синхронности. Вдруг кому-то пригодится.<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");
try{
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(sBase64Data);
yield oSignedData.VerifyCades(eds.replace(/(\r\n|\n|\r)/gm," "),CADESCOM_CADES_BES,true);
}catch(err){
error_eds("Failed to verify signature. Error: " + cadesplugin.getLastError(err));
return false;
}
var Signers = yield oSignedData.Signers;
console.log(yield Signers.Count);
var Item = yield Signers.Item(1);
console.log(yield Signers.Item(1));
var Certificate = yield Item.Certificate;
console.log(yield Item.Certificate);
AddCertInfoForEDS_Async(Certificate);
</code></pre>
</div></div><br /><br /><br />А еще вопрос как выдрать СНИЛС и другие данные с сертификата?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81932:1Извлечение сертификата<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: 4eIIIupKo <a href="/forum2/default.aspx?g=posts&m=81718#post81718"><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=81627#post81627"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</div></div><br /><br />Спасибо большое буду пробывать.</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript"> cadesplugin.async_spawn(function*(arg){
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
try{
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(dataToVerify);
yield oSignedData.VerifyCades(sSignedMessage.replace(/(\r\n|\n|\r)/gm," "),CADESCOM_CADES_BES,true);
}catch(err){
error_eds("Failed to verify signature. Error: " + cadesplugin.getLastError(err));
return false;
}
console.log(yield oSignedData.Signers.Item(1).Certificate.SigningTimestampTime);
//$('#eds_status').modal('hide');
});</code></pre>
</div></div><br /><br />Не работает. Вылетает с ошибкой Uncaught (in promise) TypeError: oSignedData.Signers.Item is not a function.<br />Как отловить?</td></tr></table>2017-07-24T15:17:30+03:002017-07-24T15:17:30+03:004eIIIupKo<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: 4eIIIupKo <a href="/forum2/default.aspx?g=posts&m=81718#post81718"><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=81627#post81627"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</div></div><br /><br />Спасибо большое буду пробывать.</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-javascript"> cadesplugin.async_spawn(function*(arg){
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
try{
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(dataToVerify);
yield oSignedData.VerifyCades(sSignedMessage.replace(/(\r\n|\n|\r)/gm," "),CADESCOM_CADES_BES,true);
}catch(err){
error_eds("Failed to verify signature. Error: " + cadesplugin.getLastError(err));
return false;
}
console.log(yield oSignedData.Signers.Item(1).Certificate.SigningTimestampTime);
//$('#eds_status').modal('hide');
});</code></pre>
</div></div><br /><br />Не работает. Вылетает с ошибкой Uncaught (in promise) TypeError: oSignedData.Signers.Item is not a function.<br />Как отловить?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81718:1Извлечение сертификата<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81627#post81627"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</div></div><br /><br />Спасибо большое буду пробывать.</td></tr></table>2017-07-17T11:09:42+03:002017-07-17T11:09:42+03:004eIIIupKo<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81627#post81627"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</div></div><br /><br />Спасибо большое буду пробывать.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81627:1Извлечение сертификата<table class="content postContainer_Alt" width="100%"><tr><td>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</td></tr></table>2017-07-13T10:00:19+03:002017-07-13T10:00:19+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>Можно и без файлов, "на вход" же не файл подается, а данные.<br />И инициализировать можно некорректными данными и запросить проверку.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81625:1Извлечение сертификата<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81213#post81213"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>1. Вы смотрели результат?<br />почему в base64 в каждой строке "\r\n"?<br /><br />2. Чтобы получить сертификат - необходимо выполнить <a rel="nofollow" href="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html" title="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html">проверку подписи</a> (.VerifyCades), тогда будут доступны <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387722.aspx" title="https://msdn.microsoft.com/en-us/library/aa387722.aspx">Signers</a>,<br /><br /><br /><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387732.aspx" title="https://msdn.microsoft.com/en-us/library/aa387732.aspx">Signers object</a><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387736.aspx" title="https://msdn.microsoft.com/en-us/library/aa387736.aspx">Signers.Item</a><br /><br /><br />а у Signer - <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387742.aspx" title="https://msdn.microsoft.com/en-us/library/aa387742.aspx">Signer.Certificate property</a><br />из которого можно получить необходимое.<br /><br /></div></div><br /><br />Это получается, нужно скачать файл. Запустить проверку. И только потом я смогу получить данные сертификата.<br />А без нее никак? Если я и так уверен что подпись от нужного файла.</td></tr></table>2017-07-13T09:56:40+03:002017-07-13T09:56:40+03:004eIIIupKo<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=81213#post81213"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>1. Вы смотрели результат?<br />почему в base64 в каждой строке "\r\n"?<br /><br />2. Чтобы получить сертификат - необходимо выполнить <a rel="nofollow" href="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html" title="http://cpdn.cryptopro.ru?url=/content/cades/plugin-samples.html">проверку подписи</a> (.VerifyCades), тогда будут доступны <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387722.aspx" title="https://msdn.microsoft.com/en-us/library/aa387722.aspx">Signers</a>,<br /><br /><br /><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387732.aspx" title="https://msdn.microsoft.com/en-us/library/aa387732.aspx">Signers object</a><br /><a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387736.aspx" title="https://msdn.microsoft.com/en-us/library/aa387736.aspx">Signers.Item</a><br /><br /><br />а у Signer - <a rel="nofollow" href="https://msdn.microsoft.com/en-us/library/aa387742.aspx" title="https://msdn.microsoft.com/en-us/library/aa387742.aspx">Signer.Certificate property</a><br />из которого можно получить необходимое.<br /><br /></div></div><br /><br />Это получается, нужно скачать файл. Запустить проверку. И только потом я смогу получить данные сертификата.<br />А без нее никак? Если я и так уверен что подпись от нужного файла.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81254:1Извлечение сертификата<table class="content postContainer_Alt" width="100%"><tr><td>После подписание документа , надо сохранить подпись на сервере , чтобы потом дать возможность юзерам скачать ее в личном кабинете на сайте и затем зайти на гос портал проверить ее.<br /><br />Т.е. это планировал сделать как : подпись отправляется на сервер в Base64 - декодируется и затем сохраняется в бд<br /><br />Если я что то делаю не так , можете подсказать другой способ или указать на мои ошибки.<br /><br />Пытался декодировать с помощью js на стороне клиента - получил вот такую строку: <br /><br />0⇒\u0006\t*戆獁\u0007\u0002ð⇿\u0002\u0001\u00011\f0\n\u0006\u0006*僂\u0002\t\u0005 <br /><br />Что с ней делать то же не понятно<br /><br /></td></tr></table>2017-06-30T10:38:19+03:002017-06-30T10:38:19+03:00vorh<table class="content postContainer_Alt" width="100%"><tr><td>После подписание документа , надо сохранить подпись на сервере , чтобы потом дать возможность юзерам скачать ее в личном кабинете на сайте и затем зайти на гос портал проверить ее.<br /><br />Т.е. это планировал сделать как : подпись отправляется на сервер в Base64 - декодируется и затем сохраняется в бд<br /><br />Если я что то делаю не так , можете подсказать другой способ или указать на мои ошибки.<br /><br />Пытался декодировать с помощью js на стороне клиента - получил вот такую строку: <br /><br />0⇒\u0006\t*戆獁\u0007\u0002ð⇿\u0002\u0001\u00011\f0\n\u0006\u0006*僂\u0002\t\u0005 <br /><br />Что с ней делать то же не понятно<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid81251:1Извлечение сертификата<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: vorh <a href="/forum2/default.aspx?g=posts&m=81238#post81238"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote> <br />Иногда удается нормально декодировать , но подпись не открывается как .p7b<br /><br />В чем может быть проблема ? </div></div><br /><br /><br />Зачем это всё делается?</td></tr></table>2017-06-30T09:08:51+03:002017-06-30T09:08:51+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: vorh <a href="/forum2/default.aspx?g=posts&m=81238#post81238"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote> <br />Иногда удается нормально декодировать , но подпись не открывается как .p7b<br /><br />В чем может быть проблема ? </div></div><br /><br /><br />Зачем это всё делается?</td></tr></table>