Atom Лента - Форум КриптоПро - Тема:Исходный код тестового сайта по созданию подписи - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Iskhodnyjjkodtestovogosajjtaposozdanijupodpisi-10:1Copyright 2024 Форум КриптоПро2024-03-28T15:35:04Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruСанчир Момолдаевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50915&name=Санчир МомолдаевСанчир Момолдаевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50915&name=Санчир МомолдаевalexeyAlexeyhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=63896&name=alexeyAlexeyСанчир Момолдаевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50915&name=Санчир МомолдаевalexeyAlexeyhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=63896&name=alexeyAlexey99percent6https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57487&name=99percent6Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьев99percent6https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57487&name=99percent6Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьев99percent6https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57487&name=99percent6Zabava44https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57455&name=Zabava44YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid135727:1Исходный код тестового сайта по созданию подписи<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135720#post135720"><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=135714#post135714"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</div></div><br /><br />а где его скачать можно?</div></div><br /><br /><a rel="nofollow" href="https://cryptopro.ru/downloads" title="https://cryptopro.ru/downloads">https://cryptopro.ru/downloads</a></td></tr></table>2022-09-27T11:42:32+03:002022-09-27T11:42:32+03:00Санчир Момолдаев<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135720#post135720"><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=135714#post135714"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</div></div><br /><br />а где его скачать можно?</div></div><br /><br /><a rel="nofollow" href="https://cryptopro.ru/downloads" title="https://cryptopro.ru/downloads">https://cryptopro.ru/downloads</a></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid135720:1Исходный код тестового сайта по созданию подписи<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Санчир Момолдаев <a href="/forum2/default.aspx?g=posts&m=135714#post135714"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</div></div><br /><br />а где его скачать можно?</td></tr></table>2022-09-27T09:58:15+03:002022-09-27T09:58:15+03:00alexeyAlexey<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Санчир Момолдаев <a href="/forum2/default.aspx?g=posts&m=135714#post135714"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</div></div><br /><br />а где его скачать можно?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid135714:1Исходный код тестового сайта по созданию подписи<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</td></tr></table>2022-09-26T19:34:43+03:002022-09-26T19:34:43+03:00Санчир Момолдаев<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexeyAlexey <a href="/forum2/default.aspx?g=posts&m=135710#post135710"><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=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></div></div><br /><br />Добрый день.<br />в составе дистрибутива</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid135710:1Исходный код тестового сайта по созданию подписи<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></td></tr></table>2022-09-26T14:31:33+03:002022-09-26T14:31:33+03:00alexeyAlexey<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Подскажите, где можно скачать - samples-sourcces.jar<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119472:1Исходный код тестового сайта по созданию подписи<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119470#post119470"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp<br />Может, в этом дело. Попробуйте указать для сообщения UTF-16LE, а не UTF-8.</div></div><br /><br />Вопрос решился, в итоге я убрал перевод тела запроса в base64 перед подписанием, удалил все пробелы из него и добавил экранирование, после этого валидация успешно прошла.<br />Спасибо за помощь.</td></tr></table>2020-10-06T15:45:17+03:002020-10-06T15:45:17+03:0099percent6<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119470#post119470"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp<br />Может, в этом дело. Попробуйте указать для сообщения UTF-16LE, а не UTF-8.</div></div><br /><br />Вопрос решился, в итоге я убрал перевод тела запроса в base64 перед подписанием, удалил все пробелы из него и добавил экранирование, после этого валидация успешно прошла.<br />Спасибо за помощь.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119470:1Исходный код тестового сайта по созданию подписи<table class="content postContainer" width="100%"><tr><td><a rel="nofollow" href="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp" title="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp">https://support.cryptopr...etsja-v-kriptoarmcryptcp</a><br />Может, в этом дело. Попробуйте указать для сообщения UTF-16LE, а не UTF-8.</td></tr></table>2020-10-06T15:08:50+03:002020-10-06T15:08:50+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td><a rel="nofollow" href="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp" title="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/106/12/pochemu-moja-otdeljonnja-podpis-iz-plgin-ne-proverjaetsja-v-kriptoarmcryptcp">https://support.cryptopr...etsja-v-kriptoarmcryptcp</a><br />Может, в этом дело. Попробуйте указать для сообщения UTF-16LE, а не UTF-8.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119463:1Исходный код тестового сайта по созданию подписи<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119462#post119462"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: 99percent6 <a href="/forum2/default.aspx?g=posts&m=119450#post119450"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>валидацию в честном знаке она не проходит.</div></div><br />Какую ошибку получаете?<br />Подписи будут разные.<br /><br /></div></div><br /><br />Ошибка с такой формулировкой - Signature validation failed: message-digest attribute value does not match calculated value</td></tr></table>2020-10-06T11:54:59+03:002020-10-06T11:54:59+03:0099percent6<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119462#post119462"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: 99percent6 <a href="/forum2/default.aspx?g=posts&m=119450#post119450"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>валидацию в честном знаке она не проходит.</div></div><br />Какую ошибку получаете?<br />Подписи будут разные.<br /><br /></div></div><br /><br />Ошибка с такой формулировкой - Signature validation failed: message-digest attribute value does not match calculated value</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119462:1Исходный код тестового сайта по созданию подписи<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: 99percent6 <a href="/forum2/default.aspx?g=posts&m=119450#post119450"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>валидацию в честном знаке она не проходит.</div></div><br />Какую ошибку получаете?<br />Подписи будут разные.<br /><br /></td></tr></table>2020-10-06T11:47:27+03:002020-10-06T11:47:27+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: 99percent6 <a href="/forum2/default.aspx?g=posts&m=119450#post119450"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>валидацию в честном знаке она не проходит.</div></div><br />Какую ошибку получаете?<br />Подписи будут разные.<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119450:1Исходный код тестового сайта по созданию подписи<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Добрый день, воспользовался примером из пакета digital_marking, подпись сформировалась, но валидацию в честном знаке она не проходит. Также я сверяю то, что у меня получилось с подписью, формируемой на тестовой странице - <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html">https://www.cryptopro.ru...ge/cades_bes_sample.html</a> . Должны ли они совпадать, если подписываются одни и те же данные? У меня они различаются. При этом подпись, сформированная на тестовой странице, валидацию проходит.<br />Как понять что я делаю не так? Подскажите, пжл.<br /><br />Моя подпись всегда начинается с символов - MIAG, а на тестовой странице - MIIb.<br /><br />Код:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">
public static void main(String[] args) throws Exception {
// JCPInit.initProviders(false);
Security.addProvider(new JCP());
Security.addProvider(new RevCheck());
byte[] encoded = Base64.getEncoder().encodeToString("Hello World".getBytes(StandardCharsets.UTF_8)).getBytes();
byte[] sign = sign(
"alias", // key alias
"".toCharArray(), // key password
encoded // data to be signed
);
Encoder encoder = new Encoder();
System.out.println(encoder.encode((sign)));
}
public static byte[] sign(String alias, char[] password, byte[] data) throws Exception {
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
PrivateKey privateKey = (PrivateKey)
keyStore.getKey(alias, password);
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
System.setProperty("com.sun.security.enableAIAcaIssuers", "true");
System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true");
Certificate[] certificates = keyStore
.getCertificateChain(alias);
List<X509Certificate> chain =
new ArrayList<X509Certificate>();
for (Certificate cert : certificates) {
chain.add((X509Certificate) cert);
}
CAdESSignature cAdESSignature = new CAdESSignature(true);
cAdESSignature.addSigner(
JCP.PROVIDER_NAME, // signature provider // провайдер подписи
JCP.GOST_DIGEST_2012_256_OID,
JCP.GOST_PARAMS_EXC_2012_256_KEY_OID,
privateKey, // signing key // ключ подписанта
chain, // signing certificate chain // цепочка сертификатов подписанта
CAdESType.CAdES_BES,
null,
false,
null,
null,
null, // no CRL files
true // add the signing certificate chain to the signature // добавить цепочку подписанта в подпись
);
ByteArrayOutputStream signatureStream
= new ByteArrayOutputStream();
try (signatureStream) {
cAdESSignature.open(signatureStream);
cAdESSignature.update(data);
cAdESSignature.close();
}
return signatureStream.toByteArray();
}
</code></pre>
</div></div></td></tr></table>2020-10-06T10:16:49+03:002020-10-06T10:16:49+03:0099percent6<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Евгений Афанасьев <a href="/forum2/default.aspx?g=posts&m=119240#post119240"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Здравствуйте.<br />В составе samples-sourcces.jar есть:<br />1) в пакете CAdES - высокоуровневые примеры создания CAdES-подписи с помощью CAdES.jar (CAdES-BES, T, Long Type 1);<br />2) в пакете CMS_samples - низкоуровневые примеры создания CMS-подписи: CMS, CMSSign, CMSVerify;<br />3) в пакете digital_marking - пример DigitalMarkingExample создания CAdES-подписи для ЧестныйЗнак.</div></div><br /><br />Добрый день, воспользовался примером из пакета digital_marking, подпись сформировалась, но валидацию в честном знаке она не проходит. Также я сверяю то, что у меня получилось с подписью, формируемой на тестовой странице - <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html">https://www.cryptopro.ru...ge/cades_bes_sample.html</a> . Должны ли они совпадать, если подписываются одни и те же данные? У меня они различаются. При этом подпись, сформированная на тестовой странице, валидацию проходит.<br />Как понять что я делаю не так? Подскажите, пжл.<br /><br />Моя подпись всегда начинается с символов - MIAG, а на тестовой странице - MIIb.<br /><br />Код:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">
public static void main(String[] args) throws Exception {
// JCPInit.initProviders(false);
Security.addProvider(new JCP());
Security.addProvider(new RevCheck());
byte[] encoded = Base64.getEncoder().encodeToString("Hello World".getBytes(StandardCharsets.UTF_8)).getBytes();
byte[] sign = sign(
"alias", // key alias
"".toCharArray(), // key password
encoded // data to be signed
);
Encoder encoder = new Encoder();
System.out.println(encoder.encode((sign)));
}
public static byte[] sign(String alias, char[] password, byte[] data) throws Exception {
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
PrivateKey privateKey = (PrivateKey)
keyStore.getKey(alias, password);
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
System.setProperty("com.sun.security.enableAIAcaIssuers", "true");
System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true");
Certificate[] certificates = keyStore
.getCertificateChain(alias);
List<X509Certificate> chain =
new ArrayList<X509Certificate>();
for (Certificate cert : certificates) {
chain.add((X509Certificate) cert);
}
CAdESSignature cAdESSignature = new CAdESSignature(true);
cAdESSignature.addSigner(
JCP.PROVIDER_NAME, // signature provider // провайдер подписи
JCP.GOST_DIGEST_2012_256_OID,
JCP.GOST_PARAMS_EXC_2012_256_KEY_OID,
privateKey, // signing key // ключ подписанта
chain, // signing certificate chain // цепочка сертификатов подписанта
CAdESType.CAdES_BES,
null,
false,
null,
null,
null, // no CRL files
true // add the signing certificate chain to the signature // добавить цепочку подписанта в подпись
);
ByteArrayOutputStream signatureStream
= new ByteArrayOutputStream();
try (signatureStream) {
cAdESSignature.open(signatureStream);
cAdESSignature.update(data);
cAdESSignature.close();
}
return signatureStream.toByteArray();
}
</code></pre>
</div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid119242:1Исходный код тестового сайта по созданию подписи<table class="content postContainer" width="100%"><tr><td>То, что нужно. Благодарю!</td></tr></table>2020-09-24T16:24:01+03:002020-09-24T16:24:01+03:00Zabava44<table class="content postContainer" width="100%"><tr><td>То, что нужно. Благодарю!</td></tr></table>