Статус: Новичок
Группы: Участники
Зарегистрирован: 20.12.2024(UTC) Сообщений: 7 Откуда: Иркутск
|
Здравствуйте. Глобально стоит задача законнектиться с ДМДК через php с рабочей машины. Сразу оговорюсь, что в линуксе и сертификатах полный ноль, рассчитывал все сделать по инструкциям. Тем не менее: 1. Через "подсистемы Windows для Linux" на 10 винду поставлена Ubuntu 24 2. Поставлены apache2, php 8.3, mySql, тестовый домен 3. По инструкции пропатчена и скомпилирована библиотека libphpcades.so, прописаны симлинки. Классы CPStore, CPSigner создаются в php-скрипте, т.е. php подхватил саму библиотеку 4. Скопирован контейнер с флешки в /var/opt/cprocsp/keys/kesam/eksion.000, через команду вроде виден Код:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
CSP (Type:80) v5.0.10013 KC1 Release Ver:5.0.13000 OS:Linux CPU:AMD64 FastCode:READY:AVX,AVX2.
AcquireContext: OK. HCRYPTPROV: 23069011
\\.\HDIMAGE\eksion
OK.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 0.010 sec
[ErrorCode: 0x00000000]
5. Установлен сертификат, привязан к указанному выше контейнеру Код:
/opt/cprocsp/bin/amd64/certmgr -inst -file eksion.cer -cont '\\.\HDIMAGE\eksion'
6. Контейнер продублирован в /var/opt/cprocsp/keys/www-data (если этого не сделать, то php-скрипт вообще сертификатов не видит) Код:
cp -R /var/opt/cprocsp/keys/kesam/eksion.000 /var/opt/cprocsp/keys/www-data/
chown -R www-data:www-data /var/opt/cprocsp/keys/www-data/
Теперь о проблемах: во-первых не подписывается файл в самом линуксе (у файла test.txt права 777) Код:
touch ./test.txt
cryptcp -signf -dn E=lancevadarya@eksion.ru ./test.txt
/opt/cprocsp/bin/amd64/cryptcp -signf -dn E=lancevadarya@eksion.ru ./test.txt
CryptCP 5.0 (c) "Crypto-Pro", 2002-2024.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN:381255120150, 3812997803, 1233800016636, 20297471867, ДИРЕКТОР, ПОПОВ, АЛЕКСАНДР СЕРГЕЕВИЧ, lancevadarya@eksion.ru, "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ ""ЛОМБАРД ЭКСИОН""", "ООО ""ЛОМБАРД ЭКСИОН""", "УЛ. ПИСКУНОВА, СТР. 122", Г. ИРКУТСК, 38 ИРКУТСКАЯ ОБЛ., RU
Valid from 05.04.2024 05:42:20 to 05.12.2037 05:42:20
Certificate chains are checked.
Folder './':
./test.txt... Signing the data...
Error: Access denied.
../../../../CSPbuild/CSP/samples/CPCrypt/DSign.cpp:433: 0x80090010
[ErrorCode: 0x80090010]
Во-вторых php-скрипт https://docs.cryptopro.r...hpcades/phpcades-samples не работает по умолчанию: падает в пустую страницу без ошибок ERR_EMPTY_RESPONSE в этом месте кода: Код:$sm = $sd->Sign($signer, 0, ENCODE_BASE64);
Если попробовать заменить ее на Код:$sm = $sd->SignCades($signer, CADES_BES, true, 0);
то выдается подпись, и следом сразу ошибка Invalid Signature. (0x80090006) в месте, где Код:$sd->Verify($sm, 0, VERIFY_SIGNATURE_ONLY);
Прошу помощи. Если до этого этапа несколько дней как-то справлялся с ошибками с помощью данного форума, то вот в этом месте уже окончательно обессилел и надеюсь на поддержку. P.S. Оказываете ли вы платную поддержку по настройке машины удаленно (например через AnyDesc)? Если да, то куда обращаться? Отредактировано пользователем 20 декабря 2024 г. 13:13:46(UTC)
| Причина: Не указана
|