Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2020(UTC) Сообщений: 2
|
Добрый день! при запуске скрипта Цитата:$store = new CPStore(); $store->Open(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY);
$certs = $store->get_Certificates(); $certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, "c4a457ca37e7949d85d4f7e442be8f07827aab52", 0); $cert = $certs->Item(1);
print $cert->get_Thumbprint(); print "\n";
выходит ошибка "PHP Fatal error: Class 'CPStore' not found" Тестовый сертификат и расширение libcppcades установлены. Что я упускаю?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,451 Сказал «Спасибо»: 53 раз Поблагодарили: 791 раз в 731 постах
|
Автор: crabs32 Добрый день! при запуске скрипта Цитата:$store = new CPStore(); $store->Open(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY);
$certs = $store->get_Certificates(); $certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, "c4a457ca37e7949d85d4f7e442be8f07827aab52", 0); $cert = $certs->Item(1);
print $cert->get_Thumbprint(); print "\n";
выходит ошибка "PHP Fatal error: Class 'CPStore' not found" Тестовый сертификат и расширение libcppcades установлены. Что я упускаю? Здравствуйте. Вы выполнили пункты 10-12 инструкции? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Такая же проблема, пункты 10-12 выполнил. Но все равно при попытке обратиться к классу получаю ошибку. У меня проект на laravel. Возможно нужны какие-то дополнительные манипуляции, раз я через фреймворк работаю.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Вот как выглядит мой dockerfile(упустил установку пакетов, все что нужно установил по инструкции)
RUN mkdir -p /tmp/src/dist
COPY dist/linux-amd64_deb.tgz /tmp/src/dist COPY dist/php8_support.patch.zip /tmp/src/dist
RUN cd /tmp/src/dist/ && \ tar -xf linux-amd64_deb.tgz
RUN cd /tmp/src/dist/linux-amd64_deb && \ ./install.sh && \ apt install ./lsb-cprocsp-devel*.deb && \ dpkg -i \ cprocsp-pki-cades*.deb \ cprocsp-pki-phpcades*.deb\ lsb-cprocsp-devel*.deb
RUN cd /bin && \ ln -s /opt/cprocsp/bin/amd64/certmgr && \ ln -s /opt/cprocsp/bin/amd64/cpverify && \ ln -s /opt/cprocsp/bin/amd64/cryptcp && \ ln -s /opt/cprocsp/bin/amd64/csptest && \ ln -s /opt/cprocsp/bin/amd64/csptestf && \ ln -s /opt/cprocsp/bin/amd64/der2xer && \ ln -s /opt/cprocsp/bin/amd64/inittst && \ ln -s /opt/cprocsp/bin/amd64/wipefile && \ ln -s /opt/cprocsp/sbin/amd64/cpconfig
RUN cd /tmp/src && \ PHP_BUILD=`php -i | grep 'PHP Extension => ' | awk '{print $4}'` && \ EXT_DIR=`php -i | grep 'extension_dir => ' | awk '{print $3}'` && \ sed -i "s#PHPDIR=/php#PHPDIR=/usr/include/php/$PHP_BUILD#g" /opt/cprocsp/src/phpcades/Makefile.unix
RUN cd /tmp/src/dist && \ unzip php8_support.patch.zip && \ cp php8_support.patch /opt/cprocsp/src/phpcades
RUN cd /opt/cprocsp/src/phpcades && \ patch -p0 < ./php8_support.patch
RUN cd /opt/cprocsp/src/phpcades && \ eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
RUN ln -s /opt/cprocsp/src/phpcades/libphpcades.so /usr/lib/php/20230831/libphpcades.so
RUN echo "extension=libphpcades.so" > /etc/php/8.3/cli/conf.d/20-libphpcades.ini
В процессе установки явных ошибок не увидел, после запуска контейнера, консоль не ругается, вижу вот такой лог:
2024-06-06 07:37:03,869 INFO Set uid to user 0 succeeded 2024-06-06 10:37:03 2024-06-06 07:37:03,878 INFO supervisord started with pid 1 2024-06-06 10:37:04 2024-06-06 07:37:04,885 INFO spawned: 'php' with pid 16 2024-06-06 10:37:05 2024-06-06 07:37:05,887 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2024-06-06 10:37:06 2024-06-06 10:37:06 INFO Server running on [http://0.0.0.0:80]. 2024-06-06 10:37:06 2024-06-06 10:37:06 Press Ctrl+C to stop the server 2024-06-06 10:37:06 2024-06-06 10:42:05 2024-06-06 07:42:04 ................................................... ~ 1s 2024-06-06 10:42:05 2024-06-06 07:42:04 /favicon.ico ...................................... ~ 1s
Так же в консоли попробовал запустить команду php --re php_CPCSP. Вывел описание класса:
Extension [ <persistent> extension #37 php_CPCSP version 0.1 ] {
- Constants [185] { Constant [ int MEMORY_STORE ] { 0 } Constant [ int LOCAL_MACHINE_STORE ] { 1 } Constant [ int CURRENT_USER_STORE ] { 2 } ..... и т.д.
Что я упускаю? Класс все равно не видит
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Вроде что-то заработало. Пытаюсь сейчас заставить работать пример https://docs.cryptopro.r...pcades/phpcades-samples. Хочу сперва получить список установленных сертификатов. Задампил то что возвращает SetupCertificates(). Метод вернул мне пустой объект CPCertificates. Так понимаю метод, в хранилище uMy не видит сертификатов. Я установил самоподписанный сертификат по инструкции https://www.altlinux.org...%D0%B0%D1%82%D0%BE%D0%B2certmgr -list -store uMy, видит сертификат, код из примера - нет. Вывод certmgr -list -store uMy: # certmgr -list -store uMy Certmgr Ver:5.0.13000 OS:Linux CPU:AMD64 (c) "Crypto-Pro", 2007-2024. Program for managing certificates, CRLs and stores. ============================================================================= 1------- Issuer : S=Some State, L=VL, O=Medtime, OU=Main, CN=Artem Subject : S=Some State, L=VL, O=Medtime, OU=Main, CN=Artem Serial : 0x244488FB9141155789F4A4A0A0F64DE6FACF8C70 SHA1 Thumbprint : 82166bcd644e0ac050e9733e7bdfc0e3980198a3 SubjectKeyID : c659105e79e98e7e85b3d74769b6cb2b99983480 Signature Algorithm : sha256RSA PublicKey Algorithm : RSA (2048 bits) Not valid before : 10/06/2024 07:34:56 UTC Not valid after : 10/06/2025 07:34:56 UTC PrivateKey Link : No
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,275
Сказал(а) «Спасибо»: 558 раз Поблагодарили: 388 раз в 367 постах
|
Автор: ava.vergazov certmgr -list -store uMy, видит сертификат, код из примера - нет. Вывод certmgr -list -store uMy: Код:# certmgr -list -store uMy
Ваш код выполняется от root?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Нет не от root, но все равно сертификат видит. Попробовал установить сертификат и привязать его к контейнеру. (вот по этой документации - https://www.altlinux.org...E%D0%9F%D1%80%D0%BE_CSP)Результат тот-же. В консольке вывожу certmgr -list -store uMy, получаю: root@6b33a328a01c:/tmp/src/dist# certmgr -list -store uMy Certmgr Ver:5.0.13000 OS:Linux CPU:AMD64 (c) "Crypto-Pro", 2007-2024. 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 : E=ivanov@bank.ru, CN=Ivanov Serial : 0x1200642D56E9232E5842031183000200642D56 SHA1 Thumbprint : 4f11b5bdc201afeedb6a6706658a5802d210f3d4 SubjectKeyID : 7133ae7abbca6a42ce519254617f9598332629cb Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits) Not valid before : 10/06/2024 11:58:24 UTC Not valid after : 10/08/2024 12:08:24 UTC PrivateKey Link : Yes Container : HDIMAGE\\test.000\2EF8 Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP Provider Info : Provider Type: 80, Key Spec: 1, Flags: 0x0 CA cert URL : http://testca.cryptopro....Test%20Center%202(2).crtOCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srfCDP : http://testca.cryptopro....Test%20Center%202(2).crlЗадампленый SetupCertificates() возвращает - "CPCertificates {#275} // app/Http/Controllers/TestController.php:71"
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Коллеги, сможете помощь оказать?
Сейчас ситуация следующая: подключил библиотеку и установил тестовый сертификат. При попытке выполнить код из примера, получаю ошибку - Cannot find object or property. (0x80092004) Как я понимаю, проблема начинается с того, что метод SetupCertificates() мне ничего не возвращает. Хотя должен вернуть список установленных сертификатов.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
И еще вопрос, библиотеку обязательно собирать вместе с исходниками PHP? Или я могу php поставить через apt.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.06.2024(UTC) Сообщений: 7 Откуда: Великие Луки
|
Отбой, решил вопрос. Проблема была с правами, разобрался, все работает.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close