Статус: Новичок
Группы: Участники
Зарегистрирован: 20.12.2024(UTC) Сообщений: 7  Откуда: Иркутск
|
Если речь идет про файлы keys, то они на месте Код:
root@linux:/var/opt/cprocsp/keys/www-data/Eksion.000# ls -la
итого 32
drwx------ 2 www-data www-data 4096 дек 26 16:22 .
drwx------ 3 www-data www-data 4096 дек 26 16:22 ..
-rw------- 1 www-data www-data 3178 дек 26 16:22 header.key
-rw------- 1 www-data www-data 56 дек 26 16:22 masks2.key
-rw------- 1 www-data www-data 56 дек 26 20:57 masks.key
-rw------- 1 www-data www-data 10 дек 26 16:22 name.key
-rw------- 1 www-data www-data 36 дек 26 16:22 primary2.key
-rw------- 1 www-data www-data 36 дек 26 20:57 primary.key
- под пользователем www-data удалось подписать файлы через консоль. UPDATE: я затупил и прописывал по старой привычке не те контейнеры в команды, когда прописал правильные, то проверка прошла нормально - тест контейнера под пользователем kesam проходит успешно Код:
kesam@linux:~$ /opt/cprocsp/bin/amd64/csptest -keyset -check -container '\\.\HDIMAGE\Eksion'
CSP (Type:80) v5.0.10013 KC1 Release Ver:5.0.13000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 29536387
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "Eksion"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x1c7bd63
Symmetric key is not available.
UEC key is not available.
License: Cert without license
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Certificate in container matches AT_KEYEXCHANGE key.
Keys in container:
exchange key
Extensions:
OID: 1.2.643.2.2.37.3.10
PrivKey: Not specified - 04.07.2025 01:47:23 (UTC)
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 3,460 sec
[ErrorCode: 0x00000000]
Под www-data тоже проверка проходит успешно, хотя и есть странная строчка "Authorization required, but no authorization protocol specified" (может потому, что запаролено?): Код:
kesam@linux:~$ sudo -u www-data /opt/cprocsp/bin/amd64/csptest -keyset -check -container '\\.\HDIMAGE\wwweksion'
CSP (Type:80) v5.0.10013 KC1 Release Ver:5.0.13000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 98865283
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "wwweksion"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x5ea4fc3
Symmetric key is not available.
UEC key is not available.
License: Cert without license
Authorization required, but no authorization protocol specified
Crypto-Pro GOST R 34.10-2012 KC1 CSP запрашивает пароль на контейнер
Введите пароль:
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Certificate in container matches AT_KEYEXCHANGE key.
Keys in container:
exchange key
Extensions:
OID: 1.2.643.2.2.37.3.10
PrivKey: Not specified - 04.07.2025 01:47:23 (UTC)
Total: SYS: 0,000 sec USR: 0,040 sec UTC: 2,300 sec
[ErrorCode: 0x00000000]
А вот php-скрипт на строчке Код:$sm = $sd->Sign($signer, 0, ENCODE_BASE64);
выдаёт следующее: Код:
Test init OK
Key does not exist. (0x8009000D)
Если же добавить строку "$signer->set_KeyPin("q1w2e3");" //(видимо пароль от контейнера), то ошибка уже другая Код:HTTP error occurred during sending request (0xC2100100)
Тут я так понимаю что-то не то происходит с доступом к центрам сертификации. В свойствах сертификата указаны http://tsp2.ca.cbr.ru/ocsp-2023 и http://tsp1.ca.cbr.ru/ocsp-2023, пробовал их подставлять в $tsp_addres = "http://testca.cryptopro.ru/tsp/tsp.srf"; но они, по ходу, дохлые. Если совсем отрубить указание центров сертификации, то будет ошибка "The URL of TSP service is not specified (0xC2100121)"; А если заменить Код:$sm = $sd->Sign($signer, 0, ENCODE_BASE64);
на Код:$sm = $sd->SignCades($signer, CADES_BES, true, 0);
то выдает портянку из символов, видимо подпись, но на верификации: Код:Invalid Signature. (0x80090006)
куда дальше копать? Отредактировано пользователем 27 декабря 2024 г. 5:56:02(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,499
Сказал(а) «Спасибо»: 42 раз Поблагодарили: 607 раз в 420 постах
|
Автор: kesam  куда дальше копать? Смотреть системные журналы. Плюс под пользователем www-data можно для диагностики сделать обычную и cades-подпись с помощью cryptcp: Код:/opt/cprocsp/bin/amd64/cryptcp -sign -dn "CN=имя пользователя" /tmp/src.dat /tmp/src.dat.s1
/opt/cprocsp/bin/amd64/cryptcp -sign -dn "CN=имя пользователя" -cadesTSA http://сервер_штампов/tsp.srf -xlongtype1 /tmp/src.dat /tmp/src.dat.s2
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.12.2024(UTC) Сообщений: 7  Откуда: Иркутск
|
Обычная подпись в консоли создаётся под любым пользователем без проблем (чего нельзя сказать о php-скрипте). А вот cades выдает "HTTP error occurred during sending request" при попытках использовать прописанные в сертификате сервера http://tsp2.ca.cbr.ru/ocsp-2023 и http://tsp1.ca.cbr.ru/ocsp-2023. Это значит данная подпись будет недоступна? Еще вопрос, как с помощью phpcades подписать файл без обращения к tsp-серверам, какой метод используется? Где вообще можно посмотреть подробную документацию по библиотеке phpcades? Отредактировано пользователем 29 декабря 2024 г. 8:43:18(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close