Использую:
ОС ubuntu 18.04 серверная
PHP 7.4.23 (cli) (built: Aug 26 2021 15:51:17) ( NTS )
согласно инструкции выполнил установку расширения
https://docs.cryptopro.r...hpcades/phpcades-installКоманды при установки
---------------------sudo apt-get install libboost-dev
sudo apt-get install libxml2-dev
sudo apt install php7.4-dev
sudo apt install g++
скачиваем актуальную версию тут
https://cryptopro.ru/products/csp/downloadstar xvf linux-amd64_deb.tgz
cd linux-amd64_deb
sudo ./install.sh
sudo apt install ./lsb-cprocsp-devel*.deb
cd
wget
https://cryptopro.ru/sit...cades_linux_amd64.tar.gztar xvf cades_linux_amd64.tar.gz
cd cades_linux_amd64/
sudo dpkg -i cprocsp-pki-cades-64_2.0.14071-1_amd64.deb
sudo dpkg -i cprocsp-pki-phpcades-64_2.0.14071-1_amd64.deb
sudo apt update
sudo apt upgrade
php -v
скачиваем пакет пхп исходники относительно версии тут
https://www.php.net/downloads.phpcd
tar xzf php-7.4.23.tar.gz
cd php-7.4.23/
sudo apt-get install -y libsqlite3-dev
./configure --prefix=/opt/php
sudo nano /opt/cprocsp/src/phpcades/Makefile.unix
добавляем путь к исходникам в переменной PHPDIR
cd
wget
https://www.cryptopro.ru...s/php7_support.patch.zipunzip php7_support.patch.zip
sudo cp ./php7_support.patch /opt/cprocsp/src/phpcades
cd /opt/cprocsp/src/phpcades
sudo patch -p0 < ./php7_support.patch
cd /opt/cprocsp/src/phpcades
sudo su
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
exit
смотрим путь к дериктории с разширениями
php -i | grep extension_dir
sudo ln -s /opt/cprocsp/src/phpcades/libphpcades.so /usr/lib/php/20190902/libphpcades.so
я навсякий дакинул их везде )
sudo ln -s /opt/cprocsp/src/phpcades/libphpcades.so /usr/lib/php/libphpcades.so
sudo ln -s /opt/cprocsp/src/phpcades/libphpcades.so /usr/lib/php/7.4/libphpcades.so
sudo ln -s /opt/cprocsp/src/phpcades/libphpcades.so /usr/lib/php/20170718/libphpcades.so
добавляем в конф разширение
sudo nano /etc/php/7.4/fpm/php.ini
extension=libphpcades.so
extension=/opt/cprocsp/src/phpcades/libphpcades.so
sudo service php7.4-fpm restart
Добавление сертификатов
корневой и промежуточный взял от сюда -
http://testca2012.cryptopro.ru/ui/Default.aspxустановил их:
установка корневого сертификата - sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file rootca.cer
выхлоп:
Certmgr 1.1 (c) "Crypto-Pro", 2007-2021.
Program for managing certificates, CRLs and stores.
Installing:
=============================================================================
1-------
Issuer : C=RU, INNLE=7717107991, E=info@cryptopro.ru, OGRN=1037700085444, S=77 Москва, L=Москва, STREET=ул. Сущёвский вал д. 18, O="ООО ""КРИПТО-ПРО""", CN="Тестовый головной УЦ ООО ""КРИПТО-ПРО"" ГОСТ 2012 (УЦ 2.0)"
Subject : C=RU, INNLE=7717107991, E=info@cryptopro.ru, OGRN=1037700085444, S=77 Москва, L=Москва, STREET=ул. Сущёвский вал д. 18, O="ООО ""КРИПТО-ПРО""", CN="Тестовый головной УЦ ООО ""КРИПТО-ПРО"" ГОСТ 2012 (УЦ 2.0)"
Serial : 0x03453C7B0071ADD9AB4C5FC8A8451F97A7
SHA1 Thumbprint : 9e504e9099c79aa0883fbbfd619662739ac25420
SubjKeyID : 86967f858c1b31aa92a68d14f28cbb1f212f5c3a
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before : 26/07/2021 07:18:42 UTC
Not valid after : 26/07/2036 07:18:42 UTC
PrivateKey Link : No
=============================================================================
[ErrorCode: 0x00000000]
установка промежуточный сертификата - sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mCa -file subca.cer
выхлоп:
ertmgr 1.1 (c) "Crypto-Pro", 2007-2021.
Program for managing certificates, CRLs and stores.
Installing:
=============================================================================
1-------
Issuer : C=RU, INNLE=7717107991, E=info@cryptopro.ru, OGRN=1037700085444, S=77 Москва, L=Москва, STREET=ул. Сущёвский вал д. 18, O="ООО ""КРИПТО-ПРО""", CN="Тестовый головной УЦ ООО ""КРИПТО-ПРО"" ГОСТ 2012 (УЦ 2.0)"
Subject : INNLE=7717107991, E=info@cryptopro.ru, OGRN=1037700085444, C=RU, S=77 Москва, L=Москва, STREET=ул. Сущёвский вал д. 18, O="ООО ""КРИПТО-ПРО""", CN="Тестовый подчиненный УЦ ООО ""КРИПТО-ПРО"" ГОСТ 2012 (УЦ 2.0)"
Serial : 0x03F898850071ADE18C4D7B4B46C57F1542
SHA1 Thumbprint : 54863e37ea0a8e86361bc8d82d7aa3f934e2eb76
SubjKeyID : 758d1bf732d2d0f25f1e0f9e1379ebfc20fe9e2f
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before : 26/07/2021 07:56:26 UTC
Not valid after : 26/07/2031 08:06:26 UTC
PrivateKey Link : No
Identification Kind : Without personal presence by international passport
CA cert URL :
http://testca2012.crypto...8d14f28cbb1f212f5c3a.crtCDP :
http://testca2012.crypto...8d14f28cbb1f212f5c3a.crl=============================================================================
[ErrorCode: 0x00000000]
далее контейнер и получить ключь пользователя :
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
выхлоп:
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 14571555
\\.\HDIMAGE\Test
OK.
Total: SYS: 0.010 sec USR: 0.000 sec UTC: 0.020 sec
[ErrorCode: 0x00000000]
sudo /opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -provtype 80 -cont '\\.\HDIMAGE\Test1'
выхлоп:
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -provtype 80 -cont '\\.\HDIMAGE\Test1'
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 22579315
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "Test1"
Signature key is not available.
Attempting to create a signature key...
Press keys to provide random data...
[..............................................................................]
Crypto-Pro GOST R 34.10-2012 KC1 CSP requests new container password
New password:
Confirm password:
a signature key created.
Exchange key is not available.
Attempting to create an exchange key...
Press keys to provide random data...
[..............................................................................]
an exchange key created.
Keys in container:
signature key
exchange key
Extensions:
OID: 1.2.643.2.2.37.3.9
PrivKey: Not specified - 01.12.2022 11:36:02 (UTC)
OID: 1.2.643.2.2.37.3.10
PrivKey: Not specified - 01.12.2022 11:36:16 (UTC)
Total: SYS: 0.000 sec USR: 0.120 sec UTC: 22.510 sec
[ErrorCode: 0x00000000]
sudo -u www-data /opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn "INN=007814508921, E=12@12.ru, C=RU, CN=Сергей Сгибнев, SN=Сгибнев" -nokeygen -both -ku -cont 'Test1' cert.req
выхлоп:
CryptCP 5.0 (c) "Crypto-Pro", 2002-2021.
Command prompt Utility for file signature and encryption.
Crypto-Pro GOST R 34.10-2012 KC1 CSP requests container password
Type password:
Request is saved in file.
[ErrorCode: 0x00000000]
содержимое полученного файл cert.req нужно для получения сертификата на сайте -
https://www.cryptopro.ru/certsrv/certrqxt.aspполучаем там два сертификата certnew.p7b и certnew.cer
далее привязываю на контейнер
sudo -u www-data /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -file certnew.p7b -cont '\\.\HDIMAGE\Test'
проверяю сертификат на пользователя
sudo -E -u www-data /opt/cprocsp/bin/amd64/certmgr --list
выхлоп:
Certmgr 1.1 (c) "Crypto-Pro", 2007-2021.
Program for managing certificates, CRLs and stores.
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : INN=007814508921, E=12@12.ru, C=RU, CN=Сергей Сгибнев, SN=Сгибнев
Serial : 0x12005821B6FA009C1E9DE15B430001005821B6
SHA1 Thumbprint : 4c51e4003793320d242215704fb439c5f12fdf72
SubjKeyID : 3460847f60e0aab79be35cfcc3cc2d170ec4b071
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before : 01/09/2021 03:49:53 UTC
Not valid after : 01/12/2021 03:59:53 UTC
PrivateKey Link : No
CA cert URL :
http://testca.cryptopro....Test%20Center%202(1).crtOCSP URL :
http://testca.cryptopro.ru/ocsp/ocsp.srfCDP :
http://testca.cryptopro....Test%20Center%202(1).crl=============================================================================
[ErrorCode: 0x00000000]
в итоге выходит ошибка : "A certificate chain processed correctly, but terminated in a root certificate which is not trusted by the trust provider (0x800B0109)"
подскажите что не так
Отредактировано пользователем 1 сентября 2021 г. 20:30:02(UTC)
| Причина: Не указана