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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sadykh  
#1 Оставлено : 5 февраля 2020 г. 19:26:34(UTC)
sadykh

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

Группы: Участники
Зарегистрирован: 05.02.2020(UTC)
Сообщений: 3
Российская Федерация
Откуда: Санкт-Петербург

Доброго времени суток.

Нужно установить csp на сервере чтобы подписывать файлы подписью при скачивании.

На входе ubuntu 18.04, php 7.2.24, csp 4.0

Команды указаны для docker, но по сути здесь только RUN лишнее (отличие от bash)

Вылетает с ошибкой: make: *** No rule to make target 'PHPCadesCPSigners.o', needed by 'libphpcades.so'. Stop.
на команде eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix

Причем у меня изначально папки /opt/cprocsp/src/phpcades/ не было, и в ней всего два файла (patch и Makefile.unix), я так полагаю должно быть в разы больше.

В чем может быть дело?

Код:

FROM ubuntu:18.04

ENV TZ=Europe/Moscow
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt update && \
	apt install --no-install-recommends -y locales curl ca-certificates \
    alien lsb-base alien lsb-core libxml2 libxml2-dev libboost-dev build-essential libboost-all-dev php7.2-dev
ADD dist /root/
ADD conf /root/

RUN	cd /root && \
	chmod +x start.sh
RUN	cd /root && \
	tar -xf linux-amd64_deb.tgz && \
	cd /root/linux-amd64_deb && \
	./install.sh && \
	dpkg -i lsb-cprocsp-kc2*
RUN	cd /root && \
	tar -xf cades_linux_amd64.tar.gz && \
	cd /root/cades_linux_amd64 && \
	#alien -kci * && \
    # При билде -kci выдает ошибки из-за не запущенного сервиса крипторо,
	# но необходим для компиляции модуля PHP, переустанавливается скриптом запуска
	alien -i cprocsp-pki-2.0.0-amd64-cades.rpm && \
	alien -kci lsb-cprocsp-devel-5.0.11535-4.noarch.rpm
RUN	cd /root && \
    tar -xf php-7.2.24.tar.bz2 && \
	cd /root/php-7.2.24 && \
	ls -al && \
	./configure
RUN mkdir /opt/cprocsp/src/phpcades && \
    cp /root/php7_support.patch /opt/cprocsp/src/phpcades/php7_support.patch && \
    cd /opt/cprocsp/src/phpcades/ && \
    patch < php7_support.patch -f
RUN cd /root && \
   	cp Makefile.unix /opt/cprocsp/src/phpcades/Makefile.unix && \
	ln -s /opt/cprocsp/lib/amd64/libcppcades.so.2 /opt/cprocsp/lib/amd64/libcppcades.so && \
	cd /opt/cprocsp/src/phpcades/
RUN	eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
RUN	ln -s /opt/cprocsp/src/phpcades/libphpcades.so $(php -i | grep 'extension_dir => ' | awk '{print $3}')/libcppcades.so && \
	echo "extension=libcppcades.so" > /etc/php/5.6/cli/conf.d/20-libcppcades.ini && \
	php -i | grep CSP && \
	# Подмена родной криптопрошной библиотеки на стандартную.
	# Из-за глюков с редиректом на http при запросе сертификатов при проверке подписей
	/opt/cprocsp/sbin/amd64/cpconfig -ini \\config\\apppath -add string libcurl.so /usr/lib/x86_64-linux-gnu/libcurl.so.4

Отредактировано пользователем 5 февраля 2020 г. 19:27:09(UTC)  | Причина: Не указана

Offline sadykh  
#2 Оставлено : 5 февраля 2020 г. 19:48:13(UTC)
sadykh

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

Группы: Участники
Зарегистрирован: 05.02.2020(UTC)
Сообщений: 3
Российская Федерация
Откуда: Санкт-Петербург

Если делаю команду
Код:
alien -kci *


То вылетает с ошибками:
Код:

        dpkg --no-force-overwrite -i cprocsp-pki-cades_2.0.0-1_amd64.deb
Selecting previously unselected package cprocsp-pki-cades.
(Reading database ... 38874 files and directories currently installed.)
Preparing to unpack cprocsp-pki-cades_2.0.0-1_amd64.deb ...
Unpacking cprocsp-pki-cades (2.0.0-1) ...
Setting up cprocsp-pki-cades (2.0.0-1) ...
Exception: 0x80072741 Internal error.
[ErrorCode: 0x80072741]
Exception: 0x80072741 Internal error.
[ReturnCode: 0x80072741]
Processing triggers for libc-bin (2.27-3ubuntu1) ...
        dpkg --no-force-overwrite -i cprocsp-pki-phpcades_2.0.0-1_amd64.deb
Selecting previously unselected package cprocsp-pki-phpcades.
(Reading database ... 39040 files and directories currently installed.)
Preparing to unpack cprocsp-pki-phpcades_2.0.0-1_amd64.deb ...
Unpacking cprocsp-pki-phpcades (2.0.0-1) ...
Setting up cprocsp-pki-phpcades (2.0.0-1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
        dpkg --no-force-overwrite -i cprocsp-pki-plugin_2.0.0-1_amd64.deb
Selecting previously unselected package cprocsp-pki-plugin.
(Reading database ... 39116 files and directories currently installed.)
Preparing to unpack cprocsp-pki-plugin_2.0.0-1_amd64.deb ...
Unpacking cprocsp-pki-plugin (2.0.0-1) ...
Setting up cprocsp-pki-plugin (2.0.0-1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
File "cprocsp-pki-cades_2.0.0-1_amd64.deb" not found.



При этом при компиляции уже другая ошибка:
Код:

In file included from PHPCadesCPSigners.cpp:1:0:
stdafx.h:39:28: fatal error: CSP_WinDef.h: No such file or directory
compilation terminated.
Makefile.unix:30: recipe for target 'PHPCadesCPSigners.o' failed
make: *** [PHPCadesCPSigners.o] Error 1
Offline Александр Лавник  
#3 Оставлено : 6 февраля 2020 г. 9:43:07(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 2,237
Мужчина
Российская Федерация

Сказал «Спасибо»: 36 раз
Поблагодарили: 517 раз в 492 постах
Здравствуйте.

alien не нужен.

Все пакеты уже давно есть в deb.
Техническую поддержку оказываем тут
Наша база знаний
Offline sadykh  
#4 Оставлено : 6 февраля 2020 г. 10:53:01(UTC)
sadykh

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

Группы: Участники
Зарегистрирован: 05.02.2020(UTC)
Сообщений: 3
Российская Федерация
Откуда: Санкт-Петербург

Автор: Александр Лавник Перейти к цитате
Здравствуйте.

alien не нужен.

Все пакеты уже давно есть в deb.


Не могли бы вы подсказать актуальную инструкцию для установки?

Я находил вот эту http://cpdn.cryptopro.ru..._o_m_1_1_c_p_signer.html и несколько тем на форуме, где использовался alien.
Спасибо!
Offline Александр Лавник  
#5 Оставлено : 6 февраля 2020 г. 12:02:14(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 2,237
Мужчина
Российская Федерация

Сказал «Спасибо»: 36 раз
Поблагодарили: 517 раз в 492 постах
Автор: sadykh Перейти к цитате
Автор: Александр Лавник Перейти к цитате
Здравствуйте.

alien не нужен.

Все пакеты уже давно есть в deb.


Не могли бы вы подсказать актуальную инструкцию для установки?

Я находил вот эту http://cpdn.cryptopro.ru..._o_m_1_1_c_p_signer.html и несколько тем на форуме, где использовался alien.
Спасибо!

Примерный план такой (с нуля, измените под себя):

Ubuntu 18.04 x64
КриптоПро CSP 5.0.11455
КриптоПро ЭЦП SDK 2.0
PHP 7.2.24

1) Установить пакеты:

  • libboost-dev
  • php-dev
  • libxml2-dev

Код:
# apt-get install libboost-dev php-dev libxml2-dev

2) Скачать архив с исходниками PHP и распаковать этот архив:

Код:
tar xvf php-7.2.24.tar.gz

3) Скачать архив с КриптоПро CSP 5.0, распаковать этот архив:

Код:
tar xvf linux-amd64_deb.tgz

и установить минимальный набор пакетов КриптоПро CSP:

Код:
cd linux-amd64_deb
# ./install.sh

4) Скачать архив с КриптоПро ЭЦП SDK, распаковать этот архив:

Код:
tar xvf cades_linux_amd64.tar.gz

и установить следующие пакеты:

  • cprocsp-pki-2.0.1-cades
  • lsb-cprocsp-devel
  • cprocsp-pki-2.0.1-phpcades

Код:
cd cades-linux-amd64
# dpkg -i \
cprocsp-pki-cades_2.0.0-1_amd64.deb \
lsb-cprocsp-devel_5.0.11535-4_all.deb \
cprocsp-pki-phpcades_2.0.0-1_amd64.deb

5) Перейти в директорию с исходниками PHP:

Код:
cd ~/php-7.2.24

и выполнить:

Код:
./configure --prefix=/opt/php

6) В файле:

Код:
/opt/cprocsp/src/phpcades/Makefile.unix

указать путь к директории с исходниками PHP в переменной PHPDIR.

7) Скопировать файл патча для PHP 7 в директорию с исходниками расширения:

Код:
# cp ./php7_support.patch /opt/cprocsp/src/phpcades

8) Установить g++-6 и сделать g++-6 версией для g++ по умолчанию:

Код:
# apt-get install g++-6
# update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10
# update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 10
# update-alternatives --config g++

9) Перейти в директорию с исходниками расширения:

Код:
cd /opt/cprocsp/src/phpcades

и выполнить команды:

Код:
# patch -p0 < ./php7_support.patch
# eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix

10) Вывести путь к расширениям PHP:

Код:
php -i | grep extension_dir

11) Создать в директории с расширениями символическую ссылку на собранную библиотеку libphpcades.so:

12) В файле php.ini добавить расширение:

Код:
extension=libphpcades.so
Техническую поддержку оказываем тут
Наша база знаний
thanks 2 пользователей поблагодарили Александр Лавник за этот пост.
Санчир Момолдаев оставлено 06.02.2020(UTC), Oleg Kelmyashkin оставлено 04.08.2020(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.