Atom Лента - Форум КриптоПро - Тема:4.0 и Windows XP SP3 - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:4.0iWindowsXPSP3-10:1Copyright 2024 Форум КриптоПро2024-03-29T08:40:05Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruWmffrehttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49396&name=WmffreWmffrehttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49396&name=WmffreМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинtwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceansМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинtwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceansМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинtwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceansМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинtwo_oceanshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=36490&name=two_oceansYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid106379:14.0 и Windows XP SP3<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=106179#post106179"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>По поиску нашел, что был хотфикс sha256RSA для XP от Майкрософт в 2009 году, но сейчас его найти проблематично.<br /><br />Коллеги, может быть еще что-то посоветуете.</div></div><br /><br />Можете попробовать установить собранные мной обновления <a rel="nofollow" href="https://cloud.mail.ru/home/Updates_for_XPSP3/" title="https://cloud.mail.ru/home/Updates_for_XPSP3/">по ссылке</a> для Windows XP SP3, обновляющие системные файлы Windows XP SP3, контроль целостности которых осуществляет Криптопро CSP 4.0, и некоторые вспомогательные системные файлы до последних возможных лицензией Microsoft версий (Обновлений для XP PosReady здесь нет, только обновления для XPSP3).<br /><br />Обратите внимание на следующие файлы: <br /><strong>1.cmd</strong> - запускает filesVersion.cmd и устанавливает обновления;<br /><strong>filesVersion.cmd</strong> - определяет версии обновляемых системных файлов и записывает их в текстовый файл. После установки обновлений и перезагрузки запустите этот файл, чтобы в текстовый файл записались уже новые версии системных файлов. Если они будут меньше тех, которые указаны в папках, значит, необходимо откатиться на точку восстановления до установки этих обновлений и установить последний имеющийся Service Pack 3 для Windows XP, а только затем устанавливать эти обновления.</td></tr></table>2019-08-28T00:21:46+03:002019-08-28T00:21:46+03:00Wmffre<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: two_oceans <a href="/forum2/default.aspx?g=posts&m=106179#post106179"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>По поиску нашел, что был хотфикс sha256RSA для XP от Майкрософт в 2009 году, но сейчас его найти проблематично.<br /><br />Коллеги, может быть еще что-то посоветуете.</div></div><br /><br />Можете попробовать установить собранные мной обновления <a rel="nofollow" href="https://cloud.mail.ru/home/Updates_for_XPSP3/" title="https://cloud.mail.ru/home/Updates_for_XPSP3/">по ссылке</a> для Windows XP SP3, обновляющие системные файлы Windows XP SP3, контроль целостности которых осуществляет Криптопро CSP 4.0, и некоторые вспомогательные системные файлы до последних возможных лицензией Microsoft версий (Обновлений для XP PosReady здесь нет, только обновления для XPSP3).<br /><br />Обратите внимание на следующие файлы: <br /><strong>1.cmd</strong> - запускает filesVersion.cmd и устанавливает обновления;<br /><strong>filesVersion.cmd</strong> - определяет версии обновляемых системных файлов и записывает их в текстовый файл. После установки обновлений и перезагрузки запустите этот файл, чтобы в текстовый файл записались уже новые версии системных файлов. Если они будут меньше тех, которые указаны в папках, значит, необходимо откатиться на точку восстановления до установки этих обновлений и установить последний имеющийся Service Pack 3 для Windows XP, а только затем устанавливать эти обновления.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106362:14.0 и Windows XP SP3<table class="content postContainer" width="100%"><tr><td>Если функция вернула TRUE, GetLastError может быть любым - значение неопределёно. </td></tr></table>2019-08-27T12:47:34+03:002019-08-27T12:47:34+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Если функция вернула TRUE, GetLastError может быть любым - значение неопределёно. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106361:14.0 и Windows XP SP3<table class="content postContainer_Alt" width="100%"><tr><td>Хорошо, спасибо за уточнение. Утилиту все же когда-нибудь напишу, так как нечто отдаленно похожее бывает и на Семерке (сначала выполняется SetLastError(0); потом CryptAcquireContext возвращает действительный HCRYPTPROV и TRUE, но GetLastError = 5), но про семерку лучше наверно в новой теме.<br /><br />Технически у меня сейчас все же не PosReady, так как Installed=0. После перезагрузки изменить/удалить значение из самой ОС под администратором уже невозможно, защищено от изменения. Хотя это уже совсем другая история.<br /><br />Скопировал и сохранил измененную advapi32.dll (других измененных обновлением файлов не нашел) на случай если у кого-то будут аналогичные трудности.</td></tr></table>2019-08-27T12:36:11+03:002019-08-27T12:36:11+03:00two_oceans<table class="content postContainer_Alt" width="100%"><tr><td>Хорошо, спасибо за уточнение. Утилиту все же когда-нибудь напишу, так как нечто отдаленно похожее бывает и на Семерке (сначала выполняется SetLastError(0); потом CryptAcquireContext возвращает действительный HCRYPTPROV и TRUE, но GetLastError = 5), но про семерку лучше наверно в новой теме.<br /><br />Технически у меня сейчас все же не PosReady, так как Installed=0. После перезагрузки изменить/удалить значение из самой ОС под администратором уже невозможно, защищено от изменения. Хотя это уже совсем другая история.<br /><br />Скопировал и сохранил измененную advapi32.dll (других измененных обновлением файлов не нашел) на случай если у кого-то будут аналогичные трудности.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106358:14.0 и Windows XP SP3<table class="content postContainer" width="100%"><tr><td>cpdrvlib.ms.cat содержит несколько подписей, некоторые не должны проверяться - не нужно обращать внимание.<br />Честно говоря с ОС без поддержки производителя разбираться совсем не хочется, используйте пока PosReady в подобных ситуациях. Если будет критично - готов вернуться к этому вопросу.</td></tr></table>2019-08-27T11:52:44+03:002019-08-27T11:52:44+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>cpdrvlib.ms.cat содержит несколько подписей, некоторые не должны проверяться - не нужно обращать внимание.<br />Честно говоря с ОС без поддержки производителя разбираться совсем не хочется, используйте пока PosReady в подобных ситуациях. Если будет критично - готов вернуться к этому вопросу.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106291:14.0 и Windows XP SP3<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=106280#post106280"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Под патчами я имел в виду нашу компоненту Расширенная Совместимость с MSFT.<br />Про обратимость PosReady - не знаю.<br />Найти оригинальные обновления на все нужные версии XP у меня не получилось несколько лет назад.<br />Но больше всего меня смущает, что основные сценарии работают у вас. Может проблема в отладчике, или антивирусе?<br />Попробуйте слинковаться с advapi32.dll статически (или наоборот динамически или через delay load).</div></div><br />Компонента "Расширенная Совместимость с MSFT" включена, на всякий случай уже и "Криптопровайдер уровня ядра" включен, хотя в режиме службы (точнее вариант запуска программы из службы Apache) работу не тестировал.<br />Раньше антивирус не мешал, так что наверно маловероятный сценарий. Запускаю без отладчика в общем-то (хотя собрано с отладочными символами и компилятор автоматом вставляет функцию их получения, программа выводит стек при исключениях). Линковано полагаю статически. Немного сложно сделать динамически или отложено этой программе, потому что какой-то из unit ов по зависимости тянет unit windows, а тот тянет огромное количество импортов winapi функций, в том числе advapi32. Наверно проще написать отдельную мини-утилиту без unit ов только с LoadLibrary, GetProcAddress, CreateEvent, WaitForSingleObject и CryptAcquireContext, чем разруливать зависимости unit ов.<br /><br />В общем, совет про kb3121918 сработал, <strong>спасибо огромное</strong>. <br /><br />Сделал так: поставил в реестре PosReady c Installed=1, поставил kb3121918 из каталога для Embedded and PosReady, отложил перезагрузку, вернул Installed=0, перезагрузился. Проверил на старте программы отладочные сообщения в консоль об ошибках 75/80/81 исчезли - далее пошла штатно проверка подписи. В логе<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">CryptAcquireContext 75 TRUE: 0
CryptAcquireContext 80 TRUE: 0
CryptAcquireContext 81 TRUE: 0</code></pre>
</div></div>На закладке дополнительно пересчитал хэши, был измененный хэш advapi32.dll.<br />Посмотрю как будет дальше. К слову, файл каталога cpdrvlib.ms.cat все еще показывает проверку с ошибкой. На всякий случай отмечу, что пока искал обновления поставил еще kb4500331 (поисковик выдал на запрос kb3121918), по описанию наверно дело не в нем, но для полноты информации о действиях.<br /><br />Если все же интересно отладить ошибку с помощью delay load - есть оригинал системного раздела икспи на старом жестком диске до переноса на новый жесткий диск пару месяцев назад, можно попробовать воспроизвести ситуацию на нем. Правда займет некоторое время - заморочки с AHCI (грузится только на определенном чипсете, универсального AHCI драйвера в XP не было) и с ходу завести на втором системнике не выйдет.</td></tr></table>2019-08-27T11:47:18+03:002019-08-27T11:47:18+03:00two_oceans<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=106280#post106280"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Под патчами я имел в виду нашу компоненту Расширенная Совместимость с MSFT.<br />Про обратимость PosReady - не знаю.<br />Найти оригинальные обновления на все нужные версии XP у меня не получилось несколько лет назад.<br />Но больше всего меня смущает, что основные сценарии работают у вас. Может проблема в отладчике, или антивирусе?<br />Попробуйте слинковаться с advapi32.dll статически (или наоборот динамически или через delay load).</div></div><br />Компонента "Расширенная Совместимость с MSFT" включена, на всякий случай уже и "Криптопровайдер уровня ядра" включен, хотя в режиме службы (точнее вариант запуска программы из службы Apache) работу не тестировал.<br />Раньше антивирус не мешал, так что наверно маловероятный сценарий. Запускаю без отладчика в общем-то (хотя собрано с отладочными символами и компилятор автоматом вставляет функцию их получения, программа выводит стек при исключениях). Линковано полагаю статически. Немного сложно сделать динамически или отложено этой программе, потому что какой-то из unit ов по зависимости тянет unit windows, а тот тянет огромное количество импортов winapi функций, в том числе advapi32. Наверно проще написать отдельную мини-утилиту без unit ов только с LoadLibrary, GetProcAddress, CreateEvent, WaitForSingleObject и CryptAcquireContext, чем разруливать зависимости unit ов.<br /><br />В общем, совет про kb3121918 сработал, <strong>спасибо огромное</strong>. <br /><br />Сделал так: поставил в реестре PosReady c Installed=1, поставил kb3121918 из каталога для Embedded and PosReady, отложил перезагрузку, вернул Installed=0, перезагрузился. Проверил на старте программы отладочные сообщения в консоль об ошибках 75/80/81 исчезли - далее пошла штатно проверка подписи. В логе<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">CryptAcquireContext 75 TRUE: 0
CryptAcquireContext 80 TRUE: 0
CryptAcquireContext 81 TRUE: 0</code></pre>
</div></div>На закладке дополнительно пересчитал хэши, был измененный хэш advapi32.dll.<br />Посмотрю как будет дальше. К слову, файл каталога cpdrvlib.ms.cat все еще показывает проверку с ошибкой. На всякий случай отмечу, что пока искал обновления поставил еще kb4500331 (поисковик выдал на запрос kb3121918), по описанию наверно дело не в нем, но для полноты информации о действиях.<br /><br />Если все же интересно отладить ошибку с помощью delay load - есть оригинал системного раздела икспи на старом жестком диске до переноса на новый жесткий диск пару месяцев назад, можно попробовать воспроизвести ситуацию на нем. Правда займет некоторое время - заморочки с AHCI (грузится только на определенном чипсете, универсального AHCI драйвера в XP не было) и с ходу завести на втором системнике не выйдет.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106280:14.0 и Windows XP SP3<table class="content postContainer" width="100%"><tr><td>Под патчами я имел в виду нашу компоненту Расширенная Совместимость с MSFT.<br />Про обратимость PosReady - не знаю.<br />Найти оригинальные обновления на все нужные версии XP у меня не получилось несколько лет назад.<br />Но больше всего меня смущает, что основные сценарии работают у вас. Может проблема в отладчике, или антивирусе?<br />Попробуйте слинковаться с advapi32.dll статически (или наоборот динамически или через delay load).</td></tr></table>2019-08-23T14:09:23+03:002019-08-23T14:09:23+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Под патчами я имел в виду нашу компоненту Расширенная Совместимость с MSFT.<br />Про обратимость PosReady - не знаю.<br />Найти оригинальные обновления на все нужные версии XP у меня не получилось несколько лет назад.<br />Но больше всего меня смущает, что основные сценарии работают у вас. Может проблема в отладчике, или антивирусе?<br />Попробуйте слинковаться с advapi32.dll статически (или наоборот динамически или через delay load).</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106275:14.0 и Windows XP SP3<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день. Спасибо за совет.<br />Если патчи - замена функций Майкрософт, то каких-то действий по отключению в конкретном приложении не предпринимал, так что ответ "не знаю", разве что зацепило каким-то другим действием. Приложение на XP работало с КриптоПро 3.6. Если патчи - имеются ввиду обновления ОС, на домашнем компьютере действительно были отключены очень давно по принципу "не сломалось - не чини", вручную поставлено несколько из недавних, включая Anti-WannaCry и поддержку новых версий RDP.<br /><br />Насколько помню была похожая проблема в моей программе на windows 7 32 с 4.0.9842, там при запросе криптопровайдера возвращало TRUE, хотя в getLastError после CryptAcquireContext оставалось значение NTE_BAD_SIGNATURE. Решилось переходом на 4.0.9944, предположительно дистрибутив 4.0.9842 был поврежден. Поэтому на XP я попробовал две разных версии, но симптомы одинаковые (FALSE с NTE_BAD_SIGNATURE).<br /><br />Обновление 2836198 нашлось у Майкрософт для 2003 сервера, 3121918 в каталоге для PosReady, оба отказались ставиться. Правка реестра насколько помню сделает ОС псевдо-PosReady и после перезагрузки обратима только через LiveCD? Попробую внести правку и установить 3121918.</td></tr></table>2019-08-23T13:27:10+03:002019-08-23T13:27:10+03:00two_oceans<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день. Спасибо за совет.<br />Если патчи - замена функций Майкрософт, то каких-то действий по отключению в конкретном приложении не предпринимал, так что ответ "не знаю", разве что зацепило каким-то другим действием. Приложение на XP работало с КриптоПро 3.6. Если патчи - имеются ввиду обновления ОС, на домашнем компьютере действительно были отключены очень давно по принципу "не сломалось - не чини", вручную поставлено несколько из недавних, включая Anti-WannaCry и поддержку новых версий RDP.<br /><br />Насколько помню была похожая проблема в моей программе на windows 7 32 с 4.0.9842, там при запросе криптопровайдера возвращало TRUE, хотя в getLastError после CryptAcquireContext оставалось значение NTE_BAD_SIGNATURE. Решилось переходом на 4.0.9944, предположительно дистрибутив 4.0.9842 был поврежден. Поэтому на XP я попробовал две разных версии, но симптомы одинаковые (FALSE с NTE_BAD_SIGNATURE).<br /><br />Обновление 2836198 нашлось у Майкрософт для 2003 сервера, 3121918 в каталоге для PosReady, оба отказались ставиться. Правка реестра насколько помню сделает ОС псевдо-PosReady и после перезагрузки обратима только через LiveCD? Попробую внести правку и установить 3121918.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106255:14.0 и Windows XP SP3<table class="content postContainer" width="100%"><tr><td>XP мы стараемся пока поддержвивать.<br />В вашем приложении отключены патчи? Тогда нужно установить обновление (kb2836198 или 3121918) или прописать <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-csharp">Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001
</code></pre>
</div></div></td></tr></table>2019-08-23T11:57:43+03:002019-08-23T11:57:43+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>XP мы стараемся пока поддержвивать.<br />В вашем приложении отключены патчи? Тогда нужно установить обновление (kb2836198 или 3121918) или прописать <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-csharp">Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001
</code></pre>
</div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid106179:14.0 и Windows XP SP3<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">На семерке:
cpcng.dll 4.0.5118.0 x86 OK C:\Windows\system32\cpcng.dll 0F802BCBEDBEE9A215B1D90EC3F514B82A349F53380CA474476FC275D1401ECC
cpenroll.dll 4.0.4917.0 x86 OK C:\Program Files\Common Files\Crypto Pro\AppCompat\cpenroll.dll F6B912154E255977C9E336D40260DE746CA792DB8BFB8603785491C5BDA07893
На XP:
cpdrvlib.sys 4.0.6518.0 x86 OK C:\Program Files\Crypto Pro\CSP\cpdrvlib.sys 713570A8DC3773D7CF161D0595B875236064C435BF86AAD4ED8A271F669A776E</code></pre>
</div></div>2019-08-22T06:04:10+03:002019-08-22T06:04:10+03:00two_oceans<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">На семерке:
cpcng.dll 4.0.5118.0 x86 OK C:\Windows\system32\cpcng.dll 0F802BCBEDBEE9A215B1D90EC3F514B82A349F53380CA474476FC275D1401ECC
cpenroll.dll 4.0.4917.0 x86 OK C:\Program Files\Common Files\Crypto Pro\AppCompat\cpenroll.dll F6B912154E255977C9E336D40260DE746CA792DB8BFB8603785491C5BDA07893
На XP:
cpdrvlib.sys 4.0.6518.0 x86 OK C:\Program Files\Crypto Pro\CSP\cpdrvlib.sys 713570A8DC3773D7CF161D0595B875236064C435BF86AAD4ED8A271F669A776E</code></pre>
</div></div>