Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Абдувохоб Абдурашидов  
#1 Оставлено : 6 июля 2024 г. 21:07:36(UTC)
Абдувохоб Абдурашидов

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)  | Причина: Дополнил

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.