Для скачивания дистрибутивов КРИПТО-ПРО необходимо предварительно зарегистрироваться на сайте.
Главная > Продукты > КриптоПро CSP > Загрузка файлов
КриптоПро CSP 5.0
https://www.cryptopro.ru/products/csp/downloads
Сертифицированная версия КриптоПро CSP 5.0.11455 (Fury) от 8.05.2019.
КриптоПро CSP 5.0 для Linux (x64, deb)
https://www.cryptopro.ru/sites/default/files/private/csp/50/11455/linux-amd64_deb.tgz
КриптоПро ЭЦП SDK 2.0
https://www.cryptopro.ru/products/cades/downloads
Linux 64 бита — полный путь: https://www.cryptopro.ru/sites/default/files/products/cades/current_release_2_0/cades_linux_amd64.tar.gz
На web-сервере должен быть установлен PHP 7.2
На нашем сервере установлено Ubuntu Server 18.04.4 (64-bit)
1) Установить пакеты:
libboost-dev
php-dev
libxml2-dev
команда в терминале: sudo apt-get install libboost-dev php-dev libxml2-dev
2) Скачать архив с КриптоПро CSP 5.0, распаковать этот архив: tar xvf linux-amd64_deb.tgz
и установить минимальный набор пакетов КриптоПро CSP:
cd linux-amd64_deb
sudo ./install.sh
3) Скачать архив с КриптоПро ЭЦП 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
4) В файле: /opt/cprocsp/src/phpcades/Makefile.unix
указать путь к директории с исходниками PHP в переменной PHPDIR
.
5) Скопировать файл патча для PHP 7 в директорию с исходниками расширения:
# cp ./php7_support.patch /opt/cprocsp/src/phpcades
6) Установить 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++
7) Перейти в директорию с исходниками расширения:
cd /opt/cprocsp/src/phpcades
выполнить сборку расширения:
patch -p0 < ./php7_support.patch
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
8) Вывести путь к расширениям PHP:
php -i | grep extension_dir
9) Создать в директории с расширениями символическую ссылку на собранную библиотеку libphpcades.so:
$ ln -s файлИсточник файлСсылки
10) В файле php.ini добавить расширение: extension=libphpcades.so
11) Перезагрузить сервер и проверить выполнение тестового скрипта (сохранить в php файл), который проверяет возможность работы с собранной библиотекой из php:
<?php
ini_set("log_errors", 1);
ini_set ('display_errors', 1);
error_reporting (E_ALL);
try
{
$sd = new CPSignedData();
$content = "test content";
$sd = new CPSignedData();
$sd->set_Content($content);
printf("test init OK\n");
}
catch (Exception $e)
{
printf($e->getMessage());
}
?>
Добавление корневых сертификатов УЦ
скачать файлы в /var/tmp/
Выполнить добавление:
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file "/var/tmp/root_mks.cer"
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file "/var/tmp/root_guc.cer"
Или через curl:
sudo curl http://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=4BC6DC14D97010C41A26E058AD851F81C842415A|sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin
sudo curl url-нужногосертификата|sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin
Дополнительное руководство
https://wiki.astralinux.ru/pages/viewpage.action?pageId=32833902