Atom Лента - Форум КриптоПро - Тема:CAdESCOM и подпись в формате CMS - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:CAdESCOMipodpis'vformateCMS-10:1Copyright 2024 Форум КриптоПро2024-03-29T08:51:25Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.rutwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceanstwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceanscrypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7crypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7crypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7two_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceanscrypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7crypto7https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59345&name=crypto7Андрей *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=Андрей *YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid125143:1CAdESCOM и подпись в формате CMSСрок действия сертификата сейчас ограничен в большинстве случаев годом и 3 месяцами. Критическим сроком для использования алгоритма будет когда закрытый ключ можно подобрать примерно за удвоенное время (около двух с половиной - трех лет). Есть еще другие факторы, важные для сложности подбора самого закрытого ключа по косвенным параметрам. Выведение из эксплуатации схемы подписи гост-2001 как раз связано с тем, что хэш гост-94 уже вплотную подошел к критическому времени на достаточно мощном компьютере. Легко посчитать, что от 1994 года до 2019 года прошло 25 лет, то есть алгоритмы меняются очень нечасто. Однако надо учесть, что прежде чем входит в широкое употребление проходит 7-8 лет. Хэш гост-2012 256 бит усложняет алгоритм вычисления, поэтому подобрать уже посложнее, хэш гост-2012 512 бит подобрать еще сложнее, но лет так через 15 вероятно это уже не будет такой проблемой.<br /><br />Понятно, что если хэш или закрытый ключ какого-то алгоритма можно будет легко подобрать, то и все подписи, сделанные с соответствующим сертификатом можно подменить - подписям с этим алгоритмом уже не будет доверия. Надеюсь, это проливает свет на то, почему действительность подписи зависит от действительности сертификата (на самом деле, примерного срока от момента генерации ключевой пары) или от доверия к алгоритму подписи. Чтобы потери доверия не произошло желательно в документы с особо долгим сроком хранения периодически включать новые доказательства или, например, переподписывать доказательства уже с новыми алгоритмами (пока доказательства еще действительны).2021-06-01T06:43:12+03:002021-06-01T06:43:12+03:00two_oceansСрок действия сертификата сейчас ограничен в большинстве случаев годом и 3 месяцами. Критическим сроком для использования алгоритма будет когда закрытый ключ можно подобрать примерно за удвоенное время (около двух с половиной - трех лет). Есть еще другие факторы, важные для сложности подбора самого закрытого ключа по косвенным параметрам. Выведение из эксплуатации схемы подписи гост-2001 как раз связано с тем, что хэш гост-94 уже вплотную подошел к критическому времени на достаточно мощном компьютере. Легко посчитать, что от 1994 года до 2019 года прошло 25 лет, то есть алгоритмы меняются очень нечасто. Однако надо учесть, что прежде чем входит в широкое употребление проходит 7-8 лет. Хэш гост-2012 256 бит усложняет алгоритм вычисления, поэтому подобрать уже посложнее, хэш гост-2012 512 бит подобрать еще сложнее, но лет так через 15 вероятно это уже не будет такой проблемой.<br /><br />Понятно, что если хэш или закрытый ключ какого-то алгоритма можно будет легко подобрать, то и все подписи, сделанные с соответствующим сертификатом можно подменить - подписям с этим алгоритмом уже не будет доверия. Надеюсь, это проливает свет на то, почему действительность подписи зависит от действительности сертификата (на самом деле, примерного срока от момента генерации ключевой пары) или от доверия к алгоритму подписи. Чтобы потери доверия не произошло желательно в документы с особо долгим сроком хранения периодически включать новые доказательства или, например, переподписывать доказательства уже с новыми алгоритмами (пока доказательства еще действительны).urn:https:--www-cryptopro-ru:ftPosts:st1:meid124943:1CAdESCOM и подпись в формате CMS<table class="content postContainer" width="100%"><tr><td>Ведь доказательства, включенные в подпись на момент ее создания, остаются действительными и после истечения сроков действия сертификатов... Или это не так?</td></tr></table>2021-05-20T14:36:46+03:002021-05-20T14:36:46+03:00crypto7<table class="content postContainer" width="100%"><tr><td>Ведь доказательства, включенные в подпись на момент ее создания, остаются действительными и после истечения сроков действия сертификатов... Или это не так?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124942:1CAdESCOM и подпись в формате CMS<table class="content postContainer_Alt" width="100%"><tr><td><strong>two_oceans,</strong> хотел бы задать вам еще один вопрос по теме? Вы написали, что <div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=124870#post124870"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>подпись в формате CAdES-X Long Type 1... будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.</div></div><br /><br />Почему же действительность подписи определяется сертифкатом подписавшего, либо сервера доверенного времени или даже алгоритмом подписи? Юридически как-то не очень правильно выходит. Это похоже на то, как если бы сотрудник организации поставил свою подпись на каком-то приказе, и эта подпись признавалась бы недействительной, например, при увольнении расписавшегося сотрудника...<br /><br />А, например, подпись в формате CAdES-BES следуя этой логике, в каких случаях перестает действовать?</td></tr></table>2021-05-20T13:29:16+03:002021-05-20T13:29:16+03:00crypto7<table class="content postContainer_Alt" width="100%"><tr><td><strong>two_oceans,</strong> хотел бы задать вам еще один вопрос по теме? Вы написали, что <div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=124870#post124870"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>подпись в формате CAdES-X Long Type 1... будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.</div></div><br /><br />Почему же действительность подписи определяется сертифкатом подписавшего, либо сервера доверенного времени или даже алгоритмом подписи? Юридически как-то не очень правильно выходит. Это похоже на то, как если бы сотрудник организации поставил свою подпись на каком-то приказе, и эта подпись признавалась бы недействительной, например, при увольнении расписавшегося сотрудника...<br /><br />А, например, подпись в формате CAdES-BES следуя этой логике, в каких случаях перестает действовать?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124871:1CAdESCOM и подпись в формате CMS<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=124870#post124870"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В основном, так. Действительно, для оффлайн проверки нужны "доказательства подлинности" в ЭП, которые можно добавить как минимум в формате CAdES-X Long Type 1 (есть и более продвинутые форматы, но про их поддержку пока ничего не известно). Соответственно для подписания потребуются лицензии на TSP и OCSP клиенты, может потребоваться подписка на услуги сервера доверенного времени. Такая подпись будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.<br /><br />Тем не менее, если сертификат подписавшего еще не истек, возможна проверка cades-bes, cades-t по локальной копии списка отзыва сертификатов (СОС или CRL) в хранилище сертификатов. Если срок действия локальной копии СОС не истек, то подключение к интернету не обязательно (ниже примечание), а вот OCSP без интернета не будет работать. Срок определяется каждым УЦ для каждого вида СОС индивидуально (есть плановые СОС, экстренные, разделенные по причинам отзыва и т.д.). Установить новый СОС в хранилище предполагается с какого-то носителя, записанного на компьютере, где интернет есть. <br />В зависимости от интерфейса могут быть предусмотрены флаги разрешающие или запрещающие СОС или OCSP-проверку или обязывающие проверять только онлайн. Подробности надо посмотреть в справке, COM интерфейс в некоторых местах не предоставляет выбора.<br /><br />Примечание. Есть небольшой момент в самом стандарте СОС - после примерно 2/3 срока действия срабатывает проверка не вышла ли новая версия СОС, в таком случае без интернета будет некая задержка перед собственно проверкой, но если срок действия СОС не закончился дальше проверка подписи должна пройти штатно независимо от успешности получения новой версии СОС.<br /></div></div><br /><br /><strong>two_oceans,</strong> большое спасибо за такой развернутый, полный ответ!</td></tr></table>2021-05-18T14:56:23+03:002021-05-18T14:56:23+03:00crypto7<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=124870#post124870"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В основном, так. Действительно, для оффлайн проверки нужны "доказательства подлинности" в ЭП, которые можно добавить как минимум в формате CAdES-X Long Type 1 (есть и более продвинутые форматы, но про их поддержку пока ничего не известно). Соответственно для подписания потребуются лицензии на TSP и OCSP клиенты, может потребоваться подписка на услуги сервера доверенного времени. Такая подпись будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.<br /><br />Тем не менее, если сертификат подписавшего еще не истек, возможна проверка cades-bes, cades-t по локальной копии списка отзыва сертификатов (СОС или CRL) в хранилище сертификатов. Если срок действия локальной копии СОС не истек, то подключение к интернету не обязательно (ниже примечание), а вот OCSP без интернета не будет работать. Срок определяется каждым УЦ для каждого вида СОС индивидуально (есть плановые СОС, экстренные, разделенные по причинам отзыва и т.д.). Установить новый СОС в хранилище предполагается с какого-то носителя, записанного на компьютере, где интернет есть. <br />В зависимости от интерфейса могут быть предусмотрены флаги разрешающие или запрещающие СОС или OCSP-проверку или обязывающие проверять только онлайн. Подробности надо посмотреть в справке, COM интерфейс в некоторых местах не предоставляет выбора.<br /><br />Примечание. Есть небольшой момент в самом стандарте СОС - после примерно 2/3 срока действия срабатывает проверка не вышла ли новая версия СОС, в таком случае без интернета будет некая задержка перед собственно проверкой, но если срок действия СОС не закончился дальше проверка подписи должна пройти штатно независимо от успешности получения новой версии СОС.<br /></div></div><br /><br /><strong>two_oceans,</strong> большое спасибо за такой развернутый, полный ответ!</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124870:1CAdESCOM и подпись в формате CMS<table class="content postContainer_Alt" width="100%"><tr><td>В основном, так. Действительно, для оффлайн проверки нужны "доказательства подлинности" в ЭП, которые можно добавить как минимум в формате CAdES-X Long Type 1 (есть и более продвинутые форматы, но про их поддержку пока ничего не известно). Соответственно для подписания потребуются лицензии на TSP и OCSP клиенты, может потребоваться подписка на услуги сервера доверенного времени. Такая подпись будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.<br /><br />Тем не менее, если сертификат подписавшего еще не истек, возможна проверка cades-bes, cades-t по локальной копии списка отзыва сертификатов (СОС или CRL) в хранилище сертификатов. Если срок действия локальной копии СОС не истек, то подключение к интернету не обязательно (ниже примечание), а вот OCSP без интернета не будет работать. Срок определяется каждым УЦ для каждого вида СОС индивидуально (есть плановые СОС, экстренные, разделенные по причинам отзыва и т.д.). Установить новый СОС в хранилище предполагается с какого-то носителя, записанного на компьютере, где интернет есть. <br />В зависимости от интерфейса могут быть предусмотрены флаги разрешающие или запрещающие СОС или OCSP-проверку или обязывающие проверять только онлайн. Подробности надо посмотреть в справке, COM интерфейс в некоторых местах не предоставляет выбора.<br /><br />Примечание. Есть небольшой момент в самом стандарте СОС - после примерно 2/3 срока действия срабатывает проверка не вышла ли новая версия СОС, в таком случае без интернета будет некая задержка перед собственно проверкой, но если срок действия СОС не закончился дальше проверка подписи должна пройти штатно независимо от успешности получения новой версии СОС.<br /></td></tr></table>2021-05-18T08:09:53+03:002021-05-18T08:09:53+03:00two_oceans<table class="content postContainer_Alt" width="100%"><tr><td>В основном, так. Действительно, для оффлайн проверки нужны "доказательства подлинности" в ЭП, которые можно добавить как минимум в формате CAdES-X Long Type 1 (есть и более продвинутые форматы, но про их поддержку пока ничего не известно). Соответственно для подписания потребуются лицензии на TSP и OCSP клиенты, может потребоваться подписка на услуги сервера доверенного времени. Такая подпись будет действовать и после истечения срока сертификата подписавшего, пока действителен сертификат сервера доверенного времени. Максимум - пока алгоритм подписи не признают ненадежным.<br /><br />Тем не менее, если сертификат подписавшего еще не истек, возможна проверка cades-bes, cades-t по локальной копии списка отзыва сертификатов (СОС или CRL) в хранилище сертификатов. Если срок действия локальной копии СОС не истек, то подключение к интернету не обязательно (ниже примечание), а вот OCSP без интернета не будет работать. Срок определяется каждым УЦ для каждого вида СОС индивидуально (есть плановые СОС, экстренные, разделенные по причинам отзыва и т.д.). Установить новый СОС в хранилище предполагается с какого-то носителя, записанного на компьютере, где интернет есть. <br />В зависимости от интерфейса могут быть предусмотрены флаги разрешающие или запрещающие СОС или OCSP-проверку или обязывающие проверять только онлайн. Подробности надо посмотреть в справке, COM интерфейс в некоторых местах не предоставляет выбора.<br /><br />Примечание. Есть небольшой момент в самом стандарте СОС - после примерно 2/3 срока действия срабатывает проверка не вышла ли новая версия СОС, в таком случае без интернета будет некая задержка перед собственно проверкой, но если срок действия СОС не закончился дальше проверка подписи должна пройти штатно независимо от успешности получения новой версии СОС.<br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124863:1CAdESCOM и подпись в формате CMS<table class="content postContainer" width="100%"><tr><td>Можно задать еще один попутный вопрос?)<br /><br />Пытаюсь понять, как правильно (какой функцией COM-интерфейса) можно проверить созданный файл ЭП при отсутствии подключения к интернету? И какой формат при этом должна иметь подпись... Как я понял, для автономной ("оффлайн") проверки ЭП, она обязательно должна быть представлена в формате CAdES-X Long Type 1. Например, если я сделаю подпись формата CADES-BES, то для ее проверки потребуется доступ к внешним ресурсам для подтверждения статуса сертификата. Так ли это?</td></tr></table>2021-05-17T17:19:59+03:002021-05-17T17:19:59+03:00crypto7<table class="content postContainer" width="100%"><tr><td>Можно задать еще один попутный вопрос?)<br /><br />Пытаюсь понять, как правильно (какой функцией COM-интерфейса) можно проверить созданный файл ЭП при отсутствии подключения к интернету? И какой формат при этом должна иметь подпись... Как я понял, для автономной ("оффлайн") проверки ЭП, она обязательно должна быть представлена в формате CAdES-X Long Type 1. Например, если я сделаю подпись формата CADES-BES, то для ее проверки потребуется доступ к внешним ресурсам для подтверждения статуса сертификата. Так ли это?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124861:1CAdESCOM и подпись в формате CMS<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=124860#post124860"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Сохранение ответа от COM как реализовано?<br /><br />Вот, если правильно сохранить приведенный выше файл:<br />[attach]9655[/attach]<br /><br />[attach]9656[/attach]<br />[attach]9657[/attach]<br /><br /><br /><br /></div></div><br /><br />Андрей, спасибо вам большое за помощь и советы. Дело было действительно в банальном сохранении ответа от COM. Я сохранял его через FileStream.WriteBuffer, с помощью еще какой-то дополнительной функции (этот код был не мой). Попробовал сохранить результат из TMemo и все заработало! Спасибо!</td></tr></table>2021-05-17T16:36:56+03:002021-05-17T16:36:56+03:00crypto7<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей * <a href="/forum2/default.aspx?g=posts&m=124860#post124860"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Сохранение ответа от COM как реализовано?<br /><br />Вот, если правильно сохранить приведенный выше файл:<br />[attach]9655[/attach]<br /><br />[attach]9656[/attach]<br />[attach]9657[/attach]<br /><br /><br /><br /></div></div><br /><br />Андрей, спасибо вам большое за помощь и советы. Дело было действительно в банальном сохранении ответа от COM. Я сохранял его через FileStream.WriteBuffer, с помощью еще какой-то дополнительной функции (этот код был не мой). Попробовал сохранить результат из TMemo и все заработало! Спасибо!</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124860:1CAdESCOM и подпись в формате CMS<table class="content postContainer" width="100%"><tr><td>Сохранение ответа от COM как реализовано?<br /><br />Вот, если правильно сохранить приведенный выше файл:<br />[attach]9655[/attach]<br /><br />[attach]9656[/attach]<br />[attach]9657[/attach]<br /><br /><br /><br /></td></tr></table>2021-05-17T16:14:43+03:002021-05-17T16:14:43+03:00Андрей *<table class="content postContainer" width="100%"><tr><td>Сохранение ответа от COM как реализовано?<br /><br />Вот, если правильно сохранить приведенный выше файл:<br />[attach]9655[/attach]<br /><br />[attach]9656[/attach]<br />[attach]9657[/attach]<br /><br /><br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124859:1CAdESCOM и подпись в формате CMS<table class="content postContainer_Alt" width="100%"><tr><td>[attach]9654[/attach]<br /></td></tr></table>2021-05-17T16:11:27+03:002021-05-17T16:11:27+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>[attach]9654[/attach]<br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid124857:1CAdESCOM и подпись в формате CMS<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: crypto7 <a href="/forum2/default.aspx?g=posts&m=124853#post124853"><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=124842#post124842"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: crypto7 <a href="/forum2/default.aspx?g=posts&m=124841#post124841"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Пробовал и другие файлы - в формате .pdf. Результат одинаковый - ошибка ASN1-данных...</div></div><br /><br />Не нужно так делать... <br />Я предложил показать файл, который записывается (ответ от CAdESCOM) из программы на Delphi7 и который не принимает КриптоАРМ.<br />Потому что у меня таких проблем нет. Мне не нужен исходный файл.</div></div><br /><br />Вот то, что получается после подписи.<br />[attach]9652[/attach]</div></div><br /><br />[attach]9653[/attach]<br /><br />этот файл успешно проверяется?<br /><br />Проблема в кодировании base64</td></tr></table>2021-05-17T16:10:04+03:002021-05-17T16:10:04+03:00Андрей *<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: crypto7 <a href="/forum2/default.aspx?g=posts&m=124853#post124853"><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=124842#post124842"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: crypto7 <a href="/forum2/default.aspx?g=posts&m=124841#post124841"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Пробовал и другие файлы - в формате .pdf. Результат одинаковый - ошибка ASN1-данных...</div></div><br /><br />Не нужно так делать... <br />Я предложил показать файл, который записывается (ответ от CAdESCOM) из программы на Delphi7 и который не принимает КриптоАРМ.<br />Потому что у меня таких проблем нет. Мне не нужен исходный файл.</div></div><br /><br />Вот то, что получается после подписи.<br />[attach]9652[/attach]</div></div><br /><br />[attach]9653[/attach]<br /><br />этот файл успешно проверяется?<br /><br />Проблема в кодировании base64</td></tr></table>