Статус: Новичок
Группы: Участники
Зарегистрирован: 06.07.2024(UTC) Сообщений: 2
|
Всем привет, надеюсь тут мне помогут. Я собрал образ php8.3 с установленным Крипто ПРО CSP 5 R3. Ставлю все по инструкции но считыватель поставить не получается. Ниже приложу Dockerfile. И что выводит команда Код:/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view
Архивы скачаны заранее из официальных источников cades-linux-amd64.tar.gz linux-amd64_deb_ver_r3.tgz - это КриптоПРО 5 R3 Вывод MD5 root@3bacdde380ee:~/build-cryptopro# md5sum linux-amd64_deb_ver_r3.tgz 548c8b14258820d10489379c4f8f81c6 linux-amd64_deb_ver_r3.tgz Dockerfile Код:
FROM ghcr.io/roadrunner-server/roadrunner:2024.1.5 AS roadrunner
FROM php:8.3.8-cli-bookworm AS base
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM=xterm
ENV LANG=en_US.UTF-8
ENV TZ=Europe/Moscow
ENV PATH="${PATH}:/opt/cprocsp/bin/amd64/"
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
# Ставим необходимые пакеты в систему
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y libboost1.81-dev build-essential lsb-base libsqlite3-dev libxml2-dev zip unzip libccid pcscd wget libxcb-xinerama0 gcr locales && \
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8 && \
mkdir -p /root/build-cryptopro/ && \
install-php-extensions sockets
# Либа CAdES
COPY files/ /root/build-cryptopro/
# Распаковочка!
RUN cd /root/build-cryptopro && \
tar -xzf cades-linux-amd64.tar.gz && \
tar -xzf linux-amd64_deb_ver_r3.tgz && \
# Установка КриптоПро \
cd /root/build-cryptopro/linux-amd64_deb && \
bash ./install.sh && \
dpkg -i ./lsb-cprocsp-devel*.deb && \
# Установка CAdES
cd /root/build-cryptopro/cades-linux-amd64 && \
dpkg -i cprocsp-pki-cades*.deb && \
dpkg -i cprocsp-pki-phpcades*.deb && \
# Применение патча для PHP8+
docker-php-source extract && \
cd /usr/src/php/ && ./configure && \
cd /opt/cprocsp/src/phpcades && \
cp /root/build-cryptopro/php8_support.patch ./ && \
patch -p0 < ./php8_support.patch && \
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64` && \
# Костыльный фикс, я хз почему так получается, но как есть
# cp /opt/cprocsp/include/pki/Attribute.h /opt/cprocsp/include/pki/asn1/Attribute.h && \
make PHPDIR=/usr/src/php -f Makefile.unix && \
# Говорим PHP что у него есть новое расширение
extDir=$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");') && \
cp /opt/cprocsp/src/phpcades/libphpcades.so $extDir/ && \
cp /root/build-cryptopro/libphpcades.ini $PHP_INI_DIR/conf.d/ && \
# Чистим
docker-php-source delete && \
apt clean
COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr
COPY --from=composer:2.7.7 /usr/bin/composer /usr/local/bin/composer
ARG USER_ID
ARG GROUP_ID
RUN groupadd -g $GROUP_ID enjoyer && useradd -m -u $USER_ID -g $GROUP_ID -s /bin/bash enjoyer
FROM base AS app_dev
WORKDIR /app/code
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
COPY --chown=enjoyer code/composer.* ./
RUN composer install --no-dev -n --no-progress
COPY --chown=enjoyer code/ ./
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 80
После запуска Код:
root@3bacdde380ee:~/build-cryptopro/linux-amd64_deb# /opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view
Nick name: HDIMAGE
Connect name:
Reader name: HDD key storage
Установленные пакеты Код:
root@3bacdde380ee:~/build-cryptopro/linux-amd64_deb# dpkg -l | grep cpro
ii cprocsp-curl-64 5.0.13000-7 amd64 CryptoPro cURL shared library and application. Build 13000.
ii cprocsp-pki-cades-64 2.0.15000-1 amd64 CryptoPro ECP SDK
ii cprocsp-pki-phpcades 2.0.14892-1 all CryptoPro ECP SDK PHP extension
ii cprocsp-rdr-jacarta-64 5.0.13000-7 amd64 JaCarta support module
ii cprocsp-rdr-pcsc-64 5.0.13000-7 amd64 CryptoPro CSP. PC/SC devices support. Build 13000.
ii cprocsp-rdr-rutoken-64 5.0.13000-7 amd64 Rutoken support module
ii lsb-cprocsp-base 5.0.13000-7 all CryptoPro CSP directories and scripts. Build 13000.
ii lsb-cprocsp-ca-certs 5.0.13000-7 all CryptoPro CA certificates. Build 13000.
ii lsb-cprocsp-capilite-64 5.0.13000-7 amd64 CryptoPro CSP. CryptoAPI Lite libraries and applications. Build 13000.
ii lsb-cprocsp-devel 5.0.13000-7 all CryptoPro CSP developer headers and examples. Build 13000.
ii lsb-cprocsp-kc1-64 5.0.13000-7 amd64 CryptoPro CSP KC1. Build 13000.
ii lsb-cprocsp-pkcs11-64 5.0.13000-7 amd64 CryptoPro PKCS11. Build 13000.
ii lsb-cprocsp-rdr-64 5.0.13000-7 amd64 CryptoPro CSP common libraries and utilities. Build 13000.
собираю образ так. Заранее скачайте cades и сам криптопро csp 5 R3 и поместите в папку `files` отностительно контекста для докера. Структура примерно такая: Код:
./
- files
-- cades-linux-amd64.tar.gz
-- linux-amd64_deb_ver_r3.tgz
- Dockerfile
Код:
docker build --build-arg USER_ID=1000 --build-arg GROUP_ID=1000 .
запускаю образ так: Код:
docker run -it --rm --device /dev/bus/usb/003/004 --entrypoint bash <id собранного образа>
Еще одно уточнение, оно работало пару раз, а потом почему-то перестало. Инструкцию брал от части тут https://wiki.astralinux....%D0%BD%D0%B5%D1%80%D1%8BНадеюсь на вашу помощь! Отредактировано пользователем 8 июля 2024 г. 9:32:23(UTC)
| Причина: Дополнил
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close