Atom Лента - Форум КриптоПро - Тема:Linux CAPILite добавление второй подиси - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:LinuxCAPILitedobavlenievtorojjpodisi-10:1Copyright 2024 Форум КриптоПро2024-03-29T16:46:19Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruРусев Андрейhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=428&name=Русев АндрейРусев Андрейhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=428&name=Русев АндрейРусев Андрейhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=428&name=Русев АндрейPeperonihttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50690&name=PeperoniРусев Андрейhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=428&name=Русев АндрейPeperonihttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50690&name=PeperoniYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid113871:1Linux CAPILite добавление второй подиси<table class="content postContainer_Alt" width="100%"><tr><td>Начиная с 2019-09-24 КриптоПро CSP 4.0.9971 Copernicus и 2019-12-04 КриптоПро CSP 5.0.11635 Golem поддержка CryptMsgControl(CMSG_CTRL_ADD_SIGNER) есть и в CAPIlite на *nix (см. CPCSP-9673).</td></tr></table>2020-03-26T17:51:42+03:002020-03-26T17:51:42+03:00Русев Андрей<table class="content postContainer_Alt" width="100%"><tr><td>Начиная с 2019-09-24 КриптоПро CSP 4.0.9971 Copernicus и 2019-12-04 КриптоПро CSP 5.0.11635 Golem поддержка CryptMsgControl(CMSG_CTRL_ADD_SIGNER) есть и в CAPIlite на *nix (см. CPCSP-9673).</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid104021:1Linux CAPILite добавление второй подиси<table class="content postContainer" width="100%"><tr><td>"данные исходного сообщения" - исходный текст.<br />Рабочего варианта для CAPILite нет, я об этом сразу написал.</td></tr></table>2019-06-14T12:50:51+03:002019-06-14T12:50:51+03:00Русев Андрей<table class="content postContainer" width="100%"><tr><td>"данные исходного сообщения" - исходный текст.<br />Рабочего варианта для CAPILite нет, я об этом сразу написал.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid102823:1Linux CAPILite добавление второй подиси<table class="content postContainer_Alt" width="100%"><tr><td>Не понял про второй вызов CryptMsgUpdate:<br /><div class="quote"><span class="quotetitle">Автор: Русев Андрей <a href="/forum2/default.aspx?g=posts&m=102802#post102802"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>CryptMsgUpdate: данные исходного сообщения</div></div><br />Что тут имелось ввиду?<br />Вообще добавление второй подпись при помощи CryptMsgControl(CMSG_CTRL_ADD_SIGNER) описано, как я отмечал, здесь:<br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007." title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007.">https://www.cryptopro.ru...s&m=38007#post38007.</a><br />На Windows и CryptoAPI данный код отрабатывает нормально, подписи после этого проверяются корректно. А вот на Linux и CAPILite код отрабатывает без ошибок, зато при последующей проверке добавленная вторая подпись не проходит проверку. Утилита cptools пишет ошибку 0x80090006: Неправильная подпись. Хотя отпечаток выводит, имя подписанта тоже.<br />Можно поподробней о рабочем варианте добавления второй подписи для Linux и CAPILite?<br /></td></tr></table>2019-04-28T16:58:29+03:002019-04-28T16:58:29+03:00Peperoni<table class="content postContainer_Alt" width="100%"><tr><td>Не понял про второй вызов CryptMsgUpdate:<br /><div class="quote"><span class="quotetitle">Автор: Русев Андрей <a href="/forum2/default.aspx?g=posts&m=102802#post102802"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>CryptMsgUpdate: данные исходного сообщения</div></div><br />Что тут имелось ввиду?<br />Вообще добавление второй подпись при помощи CryptMsgControl(CMSG_CTRL_ADD_SIGNER) описано, как я отмечал, здесь:<br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007." title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007.">https://www.cryptopro.ru...s&m=38007#post38007.</a><br />На Windows и CryptoAPI данный код отрабатывает нормально, подписи после этого проверяются корректно. А вот на Linux и CAPILite код отрабатывает без ошибок, зато при последующей проверке добавленная вторая подпись не проходит проверку. Утилита cptools пишет ошибку 0x80090006: Неправильная подпись. Хотя отпечаток выводит, имя подписанта тоже.<br />Можно поподробней о рабочем варианте добавления второй подписи для Linux и CAPILite?<br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid102802:1Linux CAPILite добавление второй подиси<table class="content postContainer" width="100%"><tr><td>На unix мы пока не поддерживаем CryptMsgControl(CMSG_CTRL_ADD_CMS_SIGNER_INFO). Точно работает такой сценарий:<br />CryptMsgOpenToDecode: открываем сообщение с первой отсоединённой подписью<br />CryptMsgUpdate: данные с первой подписью<br />CryptMsgUpdate: данные исходного сообщения<br />CryptMsgControl(CMSG_CTRL_ADD_SIGNER): добавляем вторую подпись<br />CryptMsgGetParam(CMSG_ENCODED_MESSAGE): получаем сообщение с двумя подписями<br /><br />У этого подхода есть ограничение: нельзя добавить подпись, если среди подписей исходного сообщения нет ни одной с совпадающим алгоритмом хэширования.</td></tr></table>2019-04-26T15:35:35+03:002019-04-26T15:35:35+03:00Русев Андрей<table class="content postContainer" width="100%"><tr><td>На unix мы пока не поддерживаем CryptMsgControl(CMSG_CTRL_ADD_CMS_SIGNER_INFO). Точно работает такой сценарий:<br />CryptMsgOpenToDecode: открываем сообщение с первой отсоединённой подписью<br />CryptMsgUpdate: данные с первой подписью<br />CryptMsgUpdate: данные исходного сообщения<br />CryptMsgControl(CMSG_CTRL_ADD_SIGNER): добавляем вторую подпись<br />CryptMsgGetParam(CMSG_ENCODED_MESSAGE): получаем сообщение с двумя подписями<br /><br />У этого подхода есть ограничение: нельзя добавить подпись, если среди подписей исходного сообщения нет ни одной с совпадающим алгоритмом хэширования.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid102740:1Linux CAPILite добавление второй подиси<table class="content postContainer_Alt" width="100%"><tr><td>Адаптирую под Linux программу написанную для Windows. На Windows программа использует CryptoAPI, под Linux решил использовать CAPILite. Под Linux и CAPILite не срабатывает код для добавления второй подписи. Создание одиночной подписи на используемом сертификате срабатывает. Подписи используются отсоединенные.<br />Применяю следующий алгоритм для добавления второй отсоединенной подписи.<br />CryptSignMessage - создаем вторую отсоединенную подпись <br />CryptMsgOpenToDecode - открываем сообщение для второй подписи <br />CryptMsgUpdate - добавляем в сообщение BLOB со второй подписью <br />CryptMsgGetParam - извлекаем из сообщения структуру CMSG_CMS_SIGNER_INFO со второй подписью <br />CryptMsgOpenToDecode — открываем другое сообщение с первой исходной подписью <br />CryptMsgUpdate - добавляем в сообщение BLOB с первой исходной подписью<br />CryptMsgControl - добавляем в сообщение с первой исходной подписью структуру CMSG_CMS_SIGNER_INFO со второй подписью<br />На этом этапе выдается ошибка 80091004 «Invalid cryptographic message type». На Windows и CryptoAPI код работает, а под Linux и CAPILite — нет. <br />Пробовал также способ добавления подписи описанный тут <br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007">https://www.cryptopro.ru...ts&m=38007#post38007</a><br />Тоже самое на Windows и CryptoAPI код работает, а под Linux и CAPILite — нет.<br />Дистрибутив Linux: AltLinux рабочая станция 8.2 32-бит. КриптоПРО 5.0 последнее скачано с сайта.<br />В чем может быть причина сбоя выполнения кода на Linux и CAPILite?</td></tr></table>2019-04-23T15:15:31+03:002019-04-23T15:15:31+03:00Peperoni<table class="content postContainer_Alt" width="100%"><tr><td>Адаптирую под Linux программу написанную для Windows. На Windows программа использует CryptoAPI, под Linux решил использовать CAPILite. Под Linux и CAPILite не срабатывает код для добавления второй подписи. Создание одиночной подписи на используемом сертификате срабатывает. Подписи используются отсоединенные.<br />Применяю следующий алгоритм для добавления второй отсоединенной подписи.<br />CryptSignMessage - создаем вторую отсоединенную подпись <br />CryptMsgOpenToDecode - открываем сообщение для второй подписи <br />CryptMsgUpdate - добавляем в сообщение BLOB со второй подписью <br />CryptMsgGetParam - извлекаем из сообщения структуру CMSG_CMS_SIGNER_INFO со второй подписью <br />CryptMsgOpenToDecode — открываем другое сообщение с первой исходной подписью <br />CryptMsgUpdate - добавляем в сообщение BLOB с первой исходной подписью<br />CryptMsgControl - добавляем в сообщение с первой исходной подписью структуру CMSG_CMS_SIGNER_INFO со второй подписью<br />На этом этапе выдается ошибка 80091004 «Invalid cryptographic message type». На Windows и CryptoAPI код работает, а под Linux и CAPILite — нет. <br />Пробовал также способ добавления подписи описанный тут <br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=38007#post38007">https://www.cryptopro.ru...ts&m=38007#post38007</a><br />Тоже самое на Windows и CryptoAPI код работает, а под Linux и CAPILite — нет.<br />Дистрибутив Linux: AltLinux рабочая станция 8.2 32-бит. КриптоПРО 5.0 последнее скачано с сайта.<br />В чем может быть причина сбоя выполнения кода на Linux и CAPILite?</td></tr></table>