Atom Лента - Форум КриптоПро - Тема:Установка КриптоПро CSP в windows docker - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:UstanovkaKriptoProCSPvwindowsdocker-10:1Copyright 2024 Форум КриптоПро2024-03-28T21:08:51Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим КоллегинМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинiserverhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=30529&name=iserverScriptozhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59539&name=ScriptozМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим КоллегинМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим КоллегинScriptozhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59539&name=ScriptozМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим КоллегинScriptozhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59539&name=ScriptozМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим КоллегинScriptozhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=59539&name=ScriptozYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid140678:1Установка КриптоПро CSP в windows docker<table class="content postContainer_Alt" width="100%"><tr><td>Пока изменений по docker в Windows нет и сориентировать по срокам поддержки не смогу. <br />Задача кажется очень сложной. </td></tr></table>2023-04-28T11:42:57+03:002023-04-28T11:42:57+03:00Максим Коллегин<table class="content postContainer_Alt" width="100%"><tr><td>Пока изменений по docker в Windows нет и сориентировать по срокам поддержки не смогу. <br />Задача кажется очень сложной. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid140675:1Установка КриптоПро CSP в windows docker<table class="content postContainer" width="100%"><tr><td>Добрый день. Подскажите, пожалуйста, изменилось ли что-то с этой проблемой ? Понимаю, что тема старая, но возникла аналогичная необходимость развернуть КриптоПРО в контейнере Docker для тестирования функционала работающего с "<a rel="nofollow" href="https://zakupki.gov.ru/epz/main/public/document/view.html?searchString=&sectionId=1607&strictEqual=false" title="https://zakupki.gov.ru/epz/main/public/document/view.html?searchString=&sectionId=1607&strictEqual=false">ЕИС Закупки</a>". По советам из темы удалось запустить КриптоПРО (CSPSetup-5.0.12600.exe) в контейнере, но как я понял, для обмена с ЕИC как раз нужен действующий ГОСТ TLS. Так что без библиотеки никак.</td></tr></table>2023-04-28T10:57:51+03:002023-04-28T10:57:51+03:00iserver<table class="content postContainer" width="100%"><tr><td>Добрый день. Подскажите, пожалуйста, изменилось ли что-то с этой проблемой ? Понимаю, что тема старая, но возникла аналогичная необходимость развернуть КриптоПРО в контейнере Docker для тестирования функционала работающего с "<a rel="nofollow" href="https://zakupki.gov.ru/epz/main/public/document/view.html?searchString=&sectionId=1607&strictEqual=false" title="https://zakupki.gov.ru/epz/main/public/document/view.html?searchString=&sectionId=1607&strictEqual=false">ЕИС Закупки</a>". По советам из темы удалось запустить КриптоПРО (CSPSetup-5.0.12600.exe) в контейнере, но как я понял, для обмена с ЕИC как раз нужен действующий ГОСТ TLS. Так что без библиотеки никак.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126731:1Установка КриптоПро CSP в windows docker<table class="content postContainer_Alt" width="100%"><tr><td>После установки CSP при сборке образа зависает любая последующая команда из Dockerfile, не только Get-Content. В моем прикладном случае как раз нужен ГОСТ TLS)) Если у Вас в будущем появятся какие-то идеи на счет этой проблемы - буду признателен.</td></tr></table>2021-08-19T10:47:48+03:002021-08-19T10:47:48+03:00Scriptoz<table class="content postContainer_Alt" width="100%"><tr><td>После установки CSP при сборке образа зависает любая последующая команда из Dockerfile, не только Get-Content. В моем прикладном случае как раз нужен ГОСТ TLS)) Если у Вас в будущем появятся какие-то идеи на счет этой проблемы - буду признателен.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126441:1Установка КриптоПро CSP в windows docker<table class="content postContainer" width="100%"><tr><td>Docker на Windows -- это какая-то невиданная боль.<br />По теме: CSP успешно устанавливается, команда зависает на Get-Content, видимо файл слишком большой. <br />Лог можно прочитать в C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\tmp (хэш конечно же будет другой)<br /><br />Чтобы полученный образ запускался, нужно удалить (переименовать) модуль cpsspap.dll из C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\Windows\System32\<br /><br />ГОСТ TLS работать без него не будет, попробую разобраться позже, почему не может стартовать.<br /><br />Но CMS подпись должна работать в таком образе.</td></tr></table>2021-08-05T13:45:30+03:002021-08-05T13:45:30+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Docker на Windows -- это какая-то невиданная боль.<br />По теме: CSP успешно устанавливается, команда зависает на Get-Content, видимо файл слишком большой. <br />Лог можно прочитать в C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\tmp (хэш конечно же будет другой)<br /><br />Чтобы полученный образ запускался, нужно удалить (переименовать) модуль cpsspap.dll из C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\Windows\System32\<br /><br />ГОСТ TLS работать без него не будет, попробую разобраться позже, почему не может стартовать.<br /><br />Но CMS подпись должна работать в таком образе.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126210:1Установка КриптоПро CSP в windows docker<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо, принято, попробую разобраться.</td></tr></table>2021-07-22T13:07:25+03:002021-07-22T13:07:25+03:00Максим Коллегин<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо, принято, попробую разобраться.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126206:1Установка КриптоПро CSP в windows docker<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=126203#post126203"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>А что в логе c:\\tmp\\log.txt?<br />Вы используете режим изоляции процесс или Hyper-V для контейнера?</div></div><br /><br />Если запускать установку руками из контейнера, то лог приложил. [attach]9836[/attach] В случае с установкой при сборке образа я содержимое лога посмотреть на могу, так как соответствующая команда не выполняется.<br /><br />По поводу режима изоляции - я получаю ошибку на этапе сборки образа, а изоляция, если я не путаю, определяется при запуске контейнера, до чего я не дохожу.</td></tr></table>2021-07-22T13:00:16+03:002021-07-22T13:00:16+03:00Scriptoz<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=126203#post126203"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>А что в логе c:\\tmp\\log.txt?<br />Вы используете режим изоляции процесс или Hyper-V для контейнера?</div></div><br /><br />Если запускать установку руками из контейнера, то лог приложил. [attach]9836[/attach] В случае с установкой при сборке образа я содержимое лога посмотреть на могу, так как соответствующая команда не выполняется.<br /><br />По поводу режима изоляции - я получаю ошибку на этапе сборки образа, а изоляция, если я не путаю, определяется при запуске контейнера, до чего я не дохожу.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126203:1Установка КриптоПро CSP в windows docker<table class="content postContainer_Alt" width="100%"><tr><td>А что в логе c:\\tmp\\log.txt?<br />Вы используете режим изоляции процесс или Hyper-V для контейнера?</td></tr></table>2021-07-22T12:33:57+03:002021-07-22T12:33:57+03:00Максим Коллегин<table class="content postContainer_Alt" width="100%"><tr><td>А что в логе c:\\tmp\\log.txt?<br />Вы используете режим изоляции процесс или Hyper-V для контейнера?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid126201:1Установка КриптоПро CSP в windows docker<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=125868#post125868"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">NODRIVER=1</code></pre>
</div></div></div></div><br /><br />Спасибо! С чем столкнулся сейчас: <br /><br />Если делать установку КриптоПро CSP при сборке docker образа, то любая последующая команда из Dockerfile "зависает" и потом выдает ошибку:<br /><br />Dockerfile<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
FROM mcr.microsoft.com/windows/servercore:10.0.19042.985
SHELL ["powershell"]
RUN New-Item -ItemType directory -Path c:\\tmp
COPY cryptopro\\csp-x64-eng__5.0.11998.msi c:\\tmp
# После этой команды последующая завершается ошибкой.
# Если эти команды выполнить непосредственно в контейнере - все работает.
RUN Start-Process 'msiexec' -ArgumentList '/i c:\\tmp\\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\\tmp\\log.txt NOCPROCTRL=1 NODRIVER=1' -Wait
RUN Get-Content -Path c:\tmp\log.txt
</code></pre>
</div></div><br /><br />Ошибка:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
container <id> encountered an error during hcsshim::System::Start: context deadline exceeded.
time="2021-07-21T17:07:06+03:00" level=error msg="Error waiting for container: container <id>: driver \"windowsfilter\" failed to remove root filesystem: failed to detach VHD: The device is not ready.
</code></pre>
</div></div><br /><br />Однако, если убрать процесс установки КриптоПро CSP из сборки образа и выполнить ее позже уже в контейнере, то все работает корректно. КриптоПро устанавливается и с ним можно работать:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
docker build . -t csp
docker run -it --rm csp powershell
</code></pre>
</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
# Выполняется внутри контейнера. Все работает как надо.
Start-Process 'msiexec' -ArgumentList '/i c:\\tmp\\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\\tmp\\log.txt NOCPROCTRL=1 NODRIVER=1' -Wait
Get-Content -Path c:\tmp\log.txt
</code></pre>
</div></div><br /><br />По самой ошибке в интернете ничего особо нет. Есть какие-то предположения, с чем это может быть связано?</td></tr></table>2021-07-22T12:31:27+03:002021-07-22T12:31:27+03:00Scriptoz<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=125868#post125868"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">NODRIVER=1</code></pre>
</div></div></div></div><br /><br />Спасибо! С чем столкнулся сейчас: <br /><br />Если делать установку КриптоПро CSP при сборке docker образа, то любая последующая команда из Dockerfile "зависает" и потом выдает ошибку:<br /><br />Dockerfile<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
FROM mcr.microsoft.com/windows/servercore:10.0.19042.985
SHELL ["powershell"]
RUN New-Item -ItemType directory -Path c:\\tmp
COPY cryptopro\\csp-x64-eng__5.0.11998.msi c:\\tmp
# После этой команды последующая завершается ошибкой.
# Если эти команды выполнить непосредственно в контейнере - все работает.
RUN Start-Process 'msiexec' -ArgumentList '/i c:\\tmp\\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\\tmp\\log.txt NOCPROCTRL=1 NODRIVER=1' -Wait
RUN Get-Content -Path c:\tmp\log.txt
</code></pre>
</div></div><br /><br />Ошибка:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
container <id> encountered an error during hcsshim::System::Start: context deadline exceeded.
time="2021-07-21T17:07:06+03:00" level=error msg="Error waiting for container: container <id>: driver \"windowsfilter\" failed to remove root filesystem: failed to detach VHD: The device is not ready.
</code></pre>
</div></div><br /><br />Однако, если убрать процесс установки КриптоПро CSP из сборки образа и выполнить ее позже уже в контейнере, то все работает корректно. КриптоПро устанавливается и с ним можно работать:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
docker build . -t csp
docker run -it --rm csp powershell
</code></pre>
</div></div><br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
# Выполняется внутри контейнера. Все работает как надо.
Start-Process 'msiexec' -ArgumentList '/i c:\\tmp\\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\\tmp\\log.txt NOCPROCTRL=1 NODRIVER=1' -Wait
Get-Content -Path c:\tmp\log.txt
</code></pre>
</div></div><br /><br />По самой ошибке в интернете ничего особо нет. Есть какие-то предположения, с чем это может быть связано?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125868:1Установка КриптоПро CSP в windows docker<table class="content postContainer_Alt" width="100%"><tr><td>В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">NODRIVER=1</code></pre>
</div></div></td></tr></table>2021-07-07T18:31:54+03:002021-07-07T18:31:54+03:00Максим Коллегин<table class="content postContainer_Alt" width="100%"><tr><td>В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">NODRIVER=1</code></pre>
</div></div></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125221:1Установка КриптоПро CSP в windows docker<table class="content postContainer" width="100%"><tr><td>Пробовал совет из этого <a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=125215#post125215" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=125215#post125215">топика</a> с установкой без драйвера NOCPROCTRL=1. Получаю те же ошибки. Да и вообще логи установки с этим параметром и без него выглядят почти идентично. Привожу значимо различающиеся фрагменты:<br /><br />С опцией NOCPROCTRL=1<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
KSInstall64:info: InstallService start.
KSInstall64:info: FullFileName:c:\Program Files\Crypto Pro\CSP\cpdrvlib.ms.inf
KSInstall64:info: FullPath:c:\Program Files\Crypto Pro\CSP\
KSInstall64:info: ComponentID:{AA89E01B-A77E-44F6-9563-67F251E42A2A}
KSInstall64:info: SetupOpenInfFile success
KSInstall64:info: Found Manufacturer: CPMfg
KSInstall64:info: Found TargetOS: NTx86
KSInstall64:info: Found InstallSectionName: cpdrvlib
KSInstall64:info: Found Service: cpdrvlib
KSInstall64:info: CopyOemInf: Going to call SetupCopyOEMInf (1-st time)
KSInstall64:error #-536870365:SetupCopyOEMInf
MSI (s) (F8!68) [12:05:50:342]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
</code></pre>
</div></div><br /><br />Без опции NOCPROCTRL=1<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
KSInstall64:info: InstallService start.
KSInstall64:info: FullFileName:c:\Program Files\Crypto Pro\CSP\CProCtrl.ms.inf
KSInstall64:info: FullPath:c:\Program Files\Crypto Pro\CSP\
KSInstall64:info: ComponentID:{17FF92CA-46FB-4F88-94E3-D624546F926E}
KSInstall64:info: SetupOpenInfFile success
KSInstall64:info: Found Manufacturer: CPMfg
KSInstall64:info: Found TargetOS: NTamd64
KSInstall64:info: Found InstallSectionName: CProCtrl
KSInstall64:info: Found Service: CProCtrl
KSInstall64:info: CopyOemInf: Going to call SetupCopyOEMInf (1-st time)
KSInstall64:error #-536870365:SetupCopyOEMInf
MSI (s) (34!68) [12:13:19:006]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
</code></pre>
</div></div><br /><br />Неужели не у кого не возникало желания развернуть КриптоПро в windows docker? Вроде как контейнеры достаточно прочно вошли в нашу жизнь... К слову, в linux docker проблем с установкой никаких не возникает:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
RUN tar -xf cryptopro_csp_r2_5.0.11732_deb.tgz
RUN linux-amd64_deb/install.sh
</code></pre>
</div></div></td></tr></table>2021-06-03T12:42:00+03:002021-06-03T12:42:00+03:00Scriptoz<table class="content postContainer" width="100%"><tr><td>Пробовал совет из этого <a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=125215#post125215" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=125215#post125215">топика</a> с установкой без драйвера NOCPROCTRL=1. Получаю те же ошибки. Да и вообще логи установки с этим параметром и без него выглядят почти идентично. Привожу значимо различающиеся фрагменты:<br /><br />С опцией NOCPROCTRL=1<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
KSInstall64:info: InstallService start.
KSInstall64:info: FullFileName:c:\Program Files\Crypto Pro\CSP\cpdrvlib.ms.inf
KSInstall64:info: FullPath:c:\Program Files\Crypto Pro\CSP\
KSInstall64:info: ComponentID:{AA89E01B-A77E-44F6-9563-67F251E42A2A}
KSInstall64:info: SetupOpenInfFile success
KSInstall64:info: Found Manufacturer: CPMfg
KSInstall64:info: Found TargetOS: NTx86
KSInstall64:info: Found InstallSectionName: cpdrvlib
KSInstall64:info: Found Service: cpdrvlib
KSInstall64:info: CopyOemInf: Going to call SetupCopyOEMInf (1-st time)
KSInstall64:error #-536870365:SetupCopyOEMInf
MSI (s) (F8!68) [12:05:50:342]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
</code></pre>
</div></div><br /><br />Без опции NOCPROCTRL=1<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
KSInstall64:info: InstallService start.
KSInstall64:info: FullFileName:c:\Program Files\Crypto Pro\CSP\CProCtrl.ms.inf
KSInstall64:info: FullPath:c:\Program Files\Crypto Pro\CSP\
KSInstall64:info: ComponentID:{17FF92CA-46FB-4F88-94E3-D624546F926E}
KSInstall64:info: SetupOpenInfFile success
KSInstall64:info: Found Manufacturer: CPMfg
KSInstall64:info: Found TargetOS: NTamd64
KSInstall64:info: Found InstallSectionName: CProCtrl
KSInstall64:info: Found Service: CProCtrl
KSInstall64:info: CopyOemInf: Going to call SetupCopyOEMInf (1-st time)
KSInstall64:error #-536870365:SetupCopyOEMInf
MSI (s) (34!68) [12:13:19:006]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
</code></pre>
</div></div><br /><br />Неужели не у кого не возникало желания развернуть КриптоПро в windows docker? Вроде как контейнеры достаточно прочно вошли в нашу жизнь... К слову, в linux docker проблем с установкой никаких не возникает:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">
RUN tar -xf cryptopro_csp_r2_5.0.11732_deb.tgz
RUN linux-amd64_deb/install.sh
</code></pre>
</div></div></td></tr></table>