Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
Добрый день! Пытаюсь установить КриптоПро CSP 5.0 в windows docker container. Образ: mcr.microsoft.com/windows/servercore:10.0.19042.985. Пытаюсь выполнить установку через exe, процесс просто зависает: Код:Start-Process -Wait -FilePath "c:\tmp\CSPSetup-5.0.11823.exe" -ArgumentList '-silent -nodlg'
Так же пытался выполнить установку через msi, процесс сразу же завершается, ничего не устанавливается: Код: Код:Start-Process 'msiexec' -ArgumentList '/i c:\tmp\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\tmp\log.txt'
Подскажите, пожалуйста, как правильно установить КриптоПро CSP 5.0 в docker на основе образа mcr.microsoft.com/windows/servercore?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
Через msi установку удалось запустить, я забыл ключ -Wait: Код:Start-Process 'msiexec' -ArgumentList '/i c:\tmp\csp-x64-eng__5.0.11998.msi /quiet /qn /norestart /log c:\tmp\log.txt' -Wait
Однако, установка завершилась с ошибками. Вот кусок лога с ошибкой: Код:
KSInstall64:error #-536870365:SetupCopyOEMInf
MSI (s) (D8!AC) [11:00:48:768]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
Error 25002.Driver installation failed. Details in System EventLog.
MSI (s) (D8!AC) [11:00:48:784]:
Error 555.-536870365:
CustomAction KSInstall64 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 11:00:48: InstallFinalize. Return value 3.
KSInstall64:info: KSInstUninstall start.
KSInstall64:error #2:Can't get inf file location
MSI (s) (D8!4C) [11:00:48:878]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
Error 25002.Driver installation failed. Details in System EventLog.
KSInstall64:error #2:GetInfFileLocation
MSI (s) (D8!4C) [11:00:48:893]: Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
Error 25002.Driver installation failed. Details in System EventLog.
Info 1903.Scheduling reboot operation: Deleting file c:\Program Files\Crypto Pro\CSP\TBD57E8.tmp. Must reboot to complete operation.
Action ended 11:00:50: INSTALL. Return value 3.
Поиск в EventLog особо ничего не прояснил: Код:Get-WinEvent -ProviderName "MsiInstaller" -MaxEvents 100
Код:
ProviderName: MsiInstaller
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
6/3/2021 11:00:50 AM 1042 Information Ending a Windows Installer transaction: c:\\tmp\\csp-x64-eng__5.0.11998.msi. Client Process Id: 4680.
6/3/2021 11:00:50 AM 1033 Information Windows Installer installed the product. Product Name: CryptoPro CSP. Product Version: 5.0.11998. Product Language: 1033....
6/3/2021 11:00:50 AM 11708 Information Product: CryptoPro CSP -- Installation operation failed.
6/3/2021 11:00:48 AM 10005 Error Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
6/3/2021 11:00:48 AM 10005 Error Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
6/3/2021 11:00:48 AM 10555 Error
6/3/2021 11:00:48 AM 10005 Error Product: CryptoPro CSP -- Error 25002.Driver installation failed. Details in System EventLog.
6/3/2021 11:00:36 AM 1040 Information Beginning a Windows Installer transaction: c:\\tmp\\csp-x64-eng__5.0.11998.msi. Client Process Id: 4680.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
Пробовал совет из этого топика с установкой без драйвера NOCPROCTRL=1. Получаю те же ошибки. Да и вообще логи установки с этим параметром и без него выглядят почти идентично. Привожу значимо различающиеся фрагменты: С опцией NOCPROCTRL=1 Код:
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.
Без опции NOCPROCTRL=1 Код:
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.
Неужели не у кого не возникало желания развернуть КриптоПро в windows docker? Вроде как контейнеры достаточно прочно вошли в нашу жизнь... К слову, в linux docker проблем с установкой никаких не возникает: Код:
RUN tar -xf cryptopro_csp_r2_5.0.11732_deb.tgz
RUN linux-amd64_deb/install.sh
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,404  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра: |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
Автор: Максим Коллегин  В серверной ОС еще нужно отключить установку криптопровайдера уровня ядра: Спасибо! С чем столкнулся сейчас: Если делать установку КриптоПро CSP при сборке docker образа, то любая последующая команда из Dockerfile "зависает" и потом выдает ошибку: Dockerfile Код:
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
Ошибка: Код:
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.
Однако, если убрать процесс установки КриптоПро CSP из сборки образа и выполнить ее позже уже в контейнере, то все работает корректно. КриптоПро устанавливается и с ним можно работать: Код:
docker build . -t csp
docker run -it --rm csp powershell
Код:
# Выполняется внутри контейнера. Все работает как надо.
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
По самой ошибке в интернете ничего особо нет. Есть какие-то предположения, с чем это может быть связано? Отредактировано пользователем 22 июля 2021 г. 12:31:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,404  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
А что в логе c:\\tmp\\log.txt? Вы используете режим изоляции процесс или Hyper-V для контейнера? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
Автор: Максим Коллегин  А что в логе c:\\tmp\\log.txt? Вы используете режим изоляции процесс или Hyper-V для контейнера? Если запускать установку руками из контейнера, то лог приложил.  csp.log (74kb) загружен 2 раз(а). В случае с установкой при сборке образа я содержимое лога посмотреть на могу, так как соответствующая команда не выполняется. По поводу режима изоляции - я получаю ошибку на этапе сборки образа, а изоляция, если я не путаю, определяется при запуске контейнера, до чего я не дохожу.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,404  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
Спасибо, принято, попробую разобраться. |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,404  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
Docker на Windows -- это какая-то невиданная боль. По теме: CSP успешно устанавливается, команда зависает на Get-Content, видимо файл слишком большой. Лог можно прочитать в C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\tmp (хэш конечно же будет другой)
Чтобы полученный образ запускался, нужно удалить (переименовать) модуль cpsspap.dll из C:\ProgramData\docker\windowsfilter\873b7eabc664cd740ade8dfe35429c18654abd90d656e2710228fd19fa0ca979\Files\Windows\System32\
ГОСТ TLS работать без него не будет, попробую разобраться позже, почему не может стартовать.
Но CMS подпись должна работать в таком образе. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2021(UTC) Сообщений: 7  Откуда: Москва
|
После установки CSP при сборке образа зависает любая последующая команда из Dockerfile, не только Get-Content. В моем прикладном случае как раз нужен ГОСТ TLS)) Если у Вас в будущем появятся какие-то идеи на счет этой проблемы - буду признателен.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close