Atom Лента - Форум КриптоПро - Тема:Проверка подписи маркера доступа ЕСИА - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:ProverkapodpisimarkeradostupaESIA-10:1Copyright 2024 Форум КриптоПро2024-03-28T23:52:00Zhttps://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=Андрей *Koblyakov.slavahttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56806&name=Koblyakov.slavaKoblyakov.slavahttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56806&name=Koblyakov.slavaАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Koblyakov.slavahttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56806&name=Koblyakov.slavaPeterPanhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57119&name=PeterPanАндрей *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=Андрей *PeterPanhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57119&name=PeterPanYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid118552:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Koblyakov.slava <a href="/forum2/default.aspx?g=posts&m=118550#post118550"><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=118056#post118056"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /></div></div><br /><br />Доброго дня.<br />Такая же история с проверкой маркера доступа от ЕСИА но, даже через эту утилиту, которая в ссылке указана, подпись маркера не проходит проверку.<br />Подпись запросов реализована через утилиту cryptcp.exe, от Есиа приходит токен, который проходит валидацию в самой ЕСИА, но подпись ни программно ни через сторонний софт не проверить.<br /><br />Есть ли возможность проверить этот токен через ту же утилиту cryptcp.exe?<br /><br />[attach]9015[/attach]</div></div><br /><br /><br />Почитайте про jwt, там RAW подпись, +кодирование, а не cms, которую делает cryptcp <br /><br /><br />RAW подпись можно сделать через crypthashdata, CryptSignHash или через... Вызовы утилит, csptest<br /><br /></td></tr></table>2020-08-28T10:00:06+03:002020-08-28T10:00:06+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Koblyakov.slava <a href="/forum2/default.aspx?g=posts&m=118550#post118550"><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=118056#post118056"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /></div></div><br /><br />Доброго дня.<br />Такая же история с проверкой маркера доступа от ЕСИА но, даже через эту утилиту, которая в ссылке указана, подпись маркера не проходит проверку.<br />Подпись запросов реализована через утилиту cryptcp.exe, от Есиа приходит токен, который проходит валидацию в самой ЕСИА, но подпись ни программно ни через сторонний софт не проверить.<br /><br />Есть ли возможность проверить этот токен через ту же утилиту cryptcp.exe?<br /><br />[attach]9015[/attach]</div></div><br /><br /><br />Почитайте про jwt, там RAW подпись, +кодирование, а не cms, которую делает cryptcp <br /><br /><br />RAW подпись можно сделать через crypthashdata, CryptSignHash или через... Вызовы утилит, csptest<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118550:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118056#post118056"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /></div></div><br /><br />Доброго дня.<br />Такая же история с проверкой маркера доступа от ЕСИА но, даже через эту утилиту, которая в ссылке указана, подпись маркера не проходит проверку.<br />Подпись запросов реализована через утилиту cryptcp.exe, от Есиа приходит токен, который проходит валидацию в самой ЕСИА, но подпись ни программно ни через сторонний софт не проверить.<br /><br />Есть ли возможность проверить этот токен через ту же утилиту cryptcp.exe?<br /><br />[attach]9015[/attach]</td></tr></table>2020-08-28T09:00:09+03:002020-08-28T09:00:09+03:00Koblyakov.slava<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118056#post118056"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /></div></div><br /><br />Доброго дня.<br />Такая же история с проверкой маркера доступа от ЕСИА но, даже через эту утилиту, которая в ссылке указана, подпись маркера не проходит проверку.<br />Подпись запросов реализована через утилиту cryptcp.exe, от Есиа приходит токен, который проходит валидацию в самой ЕСИА, но подпись ни программно ни через сторонний софт не проверить.<br /><br />Есть ли возможность проверить этот токен через ту же утилиту cryptcp.exe?<br /><br />[attach]9015[/attach]</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118423:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118411#post118411"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br /> samples-source.jar есть в составе дистрибутива JCP/JavaCSP</div></div><br /><br />Доброго дня. Можно приложить ссылку на этот дистрибутив.<br />И ещё вопрос по документации на фреймворк jcp. Она есть?<br /><br />Я скачивал архив, jcp-2.0.40132-A но там нет ни примеров ни документации<br /><br /></td></tr></table>2020-08-25T11:18:30+03:002020-08-25T11:18:30+03:00Koblyakov.slava<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118411#post118411"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br /> samples-source.jar есть в составе дистрибутива JCP/JavaCSP</div></div><br /><br />Доброго дня. Можно приложить ссылку на этот дистрибутив.<br />И ещё вопрос по документации на фреймворк jcp. Она есть?<br /><br />Я скачивал архив, jcp-2.0.40132-A но там нет ни примеров ни документации<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118411:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Koblyakov.slava <a href="/forum2/default.aspx?g=posts&m=118404#post118404"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Доброго дня.<br /><br /><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118015#post118015"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В КриптоПРО.NET SDK смотреть<br /><br />C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\Sign\cs\</div></div><br /><br />Каким образом получить эти Examples? <br />Интересует в контексте java.<br /><br /></div></div><br /><br /> samples-source.jar есть в составе дистрибутива JCP/JavaCSP</td></tr></table>2020-08-24T20:01:22+03:002020-08-24T20:01:22+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Koblyakov.slava <a href="/forum2/default.aspx?g=posts&m=118404#post118404"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Доброго дня.<br /><br /><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118015#post118015"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В КриптоПРО.NET SDK смотреть<br /><br />C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\Sign\cs\</div></div><br /><br />Каким образом получить эти Examples? <br />Интересует в контексте java.<br /><br /></div></div><br /><br /> samples-source.jar есть в составе дистрибутива JCP/JavaCSP</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118404:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer_Alt" width="100%"><tr><td>Доброго дня.<br /><br /><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118015#post118015"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В КриптоПРО.NET SDK смотреть<br /><br />C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\Sign\cs\</div></div><br /><br />Каким образом получить эти Examples? <br />Интересует в контексте java.<br /><br /></td></tr></table>2020-08-24T17:37:36+03:002020-08-24T17:37:36+03:00Koblyakov.slava<table class="content postContainer_Alt" width="100%"><tr><td>Доброго дня.<br /><br /><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118015#post118015"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В КриптоПРО.NET SDK смотреть<br /><br />C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\Sign\cs\</div></div><br /><br />Каким образом получить эти Examples? <br />Интересует в контексте java.<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118065:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer" width="100%"><tr><td>Огромное спасибо за наводку!<br /><br />Делюсь работающим кодом.<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br /> /// <summary><br /> /// Проверка подписи JWT в формате HEADER.PAYLOAD.SIGNATURE.<br /> /// </summary><br /> /// <param name="message">HEADER.PAYLOAD в формате Base64url</param><br /> /// <param name="signature">SIGNATURE в формате Base64url</param><br /> /// <param name="certificates">Сертификаты для проверки</param><br /> /// <returns></returns><br /> private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br /> {<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(message);<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /> Array.Reverse(signatureBytes, 0, signatureBytes.Length);<br /><br /> using (Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider())<br /> {<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /> return csp.VerifyData(messageBytes, GostHash, signatureBytes);<br /> }<br /> }<br /></div></div></td></tr></table>2020-08-12T13:15:03+03:002020-08-12T13:15:03+03:00PeterPan<table class="content postContainer" width="100%"><tr><td>Огромное спасибо за наводку!<br /><br />Делюсь работающим кодом.<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br /> /// <summary><br /> /// Проверка подписи JWT в формате HEADER.PAYLOAD.SIGNATURE.<br /> /// </summary><br /> /// <param name="message">HEADER.PAYLOAD в формате Base64url</param><br /> /// <param name="signature">SIGNATURE в формате Base64url</param><br /> /// <param name="certificates">Сертификаты для проверки</param><br /> /// <returns></returns><br /> private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br /> {<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(message);<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /> Array.Reverse(signatureBytes, 0, signatureBytes.Length);<br /><br /> using (Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider())<br /> {<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /> return csp.VerifyData(messageBytes, GostHash, signatureBytes);<br /> }<br /> }<br /></div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118056:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer_Alt" width="100%"><tr><td>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /><br />В архиве - перевернутая подпись.<br /><br />[attach]8956[/attach]<br /><br />token.txt.extracted - HEADER.PAYLOAD (две строки в base64 с точкой, как разделитель)<br />token.txt.extracted.sign.raw.reverse.all - перевернутая подпись</td></tr></table>2020-08-12T11:53:41+03:002020-08-12T11:53:41+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>Ваш токен <a rel="nofollow" href=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4" title=" https://cryptexpert.ru/help/350.Raw.JWT.GOST.mp4">прошёл</a> проверку <br /><br /><br />В архиве - перевернутая подпись.<br /><br />[attach]8956[/attach]<br /><br />token.txt.extracted - HEADER.PAYLOAD (две строки в base64 с точкой, как разделитель)<br />token.txt.extracted.sign.raw.reverse.all - перевернутая подпись</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118054:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: PeterPan <a href="/forum2/default.aspx?g=posts&m=118044#post118044"><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=118016#post118016"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можете прислать пример токена и сертификат (в ЛС)?</div></div><br /><br />В личку отправить не могу, прикрепляю файлы, а они не прикрепляются.<br /><br />Ссылка на сервтификат <a rel="nofollow" href="https://esia.gosuslugi.ru/public/esia.zip" title="https://esia.gosuslugi.ru/public/esia.zip">https://esia.gosuslugi.ru/public/esia.zip</a> имя ГОСТ ТЕСИА 2012.cer<br />Токен я прикреплял выше.<br /><br />Я пробовал так ранее<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br />private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br />{<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(Base64UrlEncoder.Decode(message.Split(new[] { '.' })[0]) + "." + Base64UrlEncoder.Decode(message.Split(new[] { '.' })[1]));<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /><br /> Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider();<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /><span class="highlight"> var res = csp.VerifyData(messageBytes, GostHash, signatureBytes);</span><br /> return res;<br />}<br /></div></div><br /><br />Возвращает false.<br /><br /><br /></div></div><br /><br />signatureBytes - переверните байты и подпись будет проходить проверку<br /><br /></td></tr></table>2020-08-12T11:38:36+03:002020-08-12T11:38:36+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: PeterPan <a href="/forum2/default.aspx?g=posts&m=118044#post118044"><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=118016#post118016"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можете прислать пример токена и сертификат (в ЛС)?</div></div><br /><br />В личку отправить не могу, прикрепляю файлы, а они не прикрепляются.<br /><br />Ссылка на сервтификат <a rel="nofollow" href="https://esia.gosuslugi.ru/public/esia.zip" title="https://esia.gosuslugi.ru/public/esia.zip">https://esia.gosuslugi.ru/public/esia.zip</a> имя ГОСТ ТЕСИА 2012.cer<br />Токен я прикреплял выше.<br /><br />Я пробовал так ранее<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br />private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br />{<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(Base64UrlEncoder.Decode(message.Split(new[] { '.' })[0]) + "." + Base64UrlEncoder.Decode(message.Split(new[] { '.' })[1]));<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /><br /> Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider();<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /><span class="highlight"> var res = csp.VerifyData(messageBytes, GostHash, signatureBytes);</span><br /> return res;<br />}<br /></div></div><br /><br />Возвращает false.<br /><br /><br /></div></div><br /><br />signatureBytes - переверните байты и подпись будет проходить проверку<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid118052:1Проверка подписи маркера доступа ЕСИАeyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImFjY2VzcyIsImFsZyI6IkdPU1QzNDEwXzIwMTJfMjU2In0.eyJuYmYiOjE1OTcxNDE4NzAsInNjb3BlIjoiYmlydGhkYXRlP29pZD0xMDAwMjk5NjU0IGZ1bGxuYW1lP29pZD0xMDAwMjk5NjU0IHNuaWxzP29pZD0xMDAwMjk5NjU0IiwiaXNzIjoiaHR0cDpcL1wvZXNpYS5nb3N1c2x1Z2kucnVcLyIsInVybjplc2lhOnNpZCI6ImFkYmNkZjc1ZWRjNGI0NDhiMGNhZjU2NmIwMGZiYzQwYjYzODZmNTU3ZjFlMmVkMTA3MDM2MDg0Njk3NTlhNjMiLCJ1cm46ZXNpYTpzYmpfaWQiOjEwMDAyOTk2NTQsImV4cCI6MTU5NzE0NTQ3MCwiaWF0IjoxNTk3MTQxODcwLCJjbGllbnRfaWQiOiJUU1VfQ09OVFJBQ1RPUlMifQ<br />2020-08-12T11:16:42+03:002020-08-12T11:16:42+03:00Андрей *eyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImFjY2VzcyIsImFsZyI6IkdPU1QzNDEwXzIwMTJfMjU2In0.eyJuYmYiOjE1OTcxNDE4NzAsInNjb3BlIjoiYmlydGhkYXRlP29pZD0xMDAwMjk5NjU0IGZ1bGxuYW1lP29pZD0xMDAwMjk5NjU0IHNuaWxzP29pZD0xMDAwMjk5NjU0IiwiaXNzIjoiaHR0cDpcL1wvZXNpYS5nb3N1c2x1Z2kucnVcLyIsInVybjplc2lhOnNpZCI6ImFkYmNkZjc1ZWRjNGI0NDhiMGNhZjU2NmIwMGZiYzQwYjYzODZmNTU3ZjFlMmVkMTA3MDM2MDg0Njk3NTlhNjMiLCJ1cm46ZXNpYTpzYmpfaWQiOjEwMDAyOTk2NTQsImV4cCI6MTU5NzE0NTQ3MCwiaWF0IjoxNTk3MTQxODcwLCJjbGllbnRfaWQiOiJUU1VfQ09OVFJBQ1RPUlMifQ<br />urn:https:--www-cryptopro-ru:ftPosts:st1:meid118044:1Проверка подписи маркера доступа ЕСИА<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118016#post118016"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можете прислать пример токена и сертификат (в ЛС)?</div></div><br /><br />В личку отправить не могу, прикрепляю файлы, а они не прикрепляются.<br /><br />Ссылка на сервтификат <a rel="nofollow" href="https://esia.gosuslugi.ru/public/esia.zip" title="https://esia.gosuslugi.ru/public/esia.zip">https://esia.gosuslugi.ru/public/esia.zip</a> имя ГОСТ ТЕСИА 2012.cer<br />Токен я прикреплял выше.<br /><br />Я пробовал так ранее<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br />private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br />{<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(Base64UrlEncoder.Decode(message.Split(new[] { '.' })[0]) + "." + Base64UrlEncoder.Decode(message.Split(new[] { '.' })[1]));<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /><br /> Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider();<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /> var res = csp.VerifyData(messageBytes, GostHash, signatureBytes);<br /> return res;<br />}<br /></div></div><br /><br />Возвращает false.<br /><br /><br /></td></tr></table>2020-08-12T05:40:23+03:002020-08-12T05:40:23+03:00PeterPan<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=118016#post118016"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Можете прислать пример токена и сертификат (в ЛС)?</div></div><br /><br />В личку отправить не могу, прикрепляю файлы, а они не прикрепляются.<br /><br />Ссылка на сервтификат <a rel="nofollow" href="https://esia.gosuslugi.ru/public/esia.zip" title="https://esia.gosuslugi.ru/public/esia.zip">https://esia.gosuslugi.ru/public/esia.zip</a> имя ГОСТ ТЕСИА 2012.cer<br />Токен я прикреплял выше.<br /><br />Я пробовал так ранее<br /><br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote> <br />private static bool VerifyRawSignString(string message, string signature, X509Certificate2Collection certificates)<br />{<br /> byte[] messageBytes = Encoding.UTF8.GetBytes(Base64UrlEncoder.Decode(message.Split(new[] { '.' })[0]) + "." + Base64UrlEncoder.Decode(message.Split(new[] { '.' })[1]));<br /> byte[] signatureBytes = Base64UrlEncoder.DecodeBytes(signature);<br /><br /> Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider();<br /> var csp = (Gost3410_2012_256CryptoServiceProvider)certificates[0].PublicKey.Key;<br /> var res = csp.VerifyData(messageBytes, GostHash, signatureBytes);<br /> return res;<br />}<br /></div></div><br /><br />Возвращает false.<br /><br /><br /></td></tr></table>