Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline andreygps  
#1 Оставлено : 4 февраля 2020 г. 14:21:23(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
Добрый день.

Нам необходимо реализовать маркировку обуви через php сервер. Для этого поставили расширение php по иструкции https://cpdn.cryptopro.r...ontent/cades/plugin.html

вопрос почему этой командой выводиться список контейнеров
csptest -keyset -enum_cont -fqcn -verifyc
Цитата:

csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 18449939
\\.\HDIMAGE\test
\\.\HDIMAGE\My
\\.\HDIMAGE\test4
\\.\HDIMAGE\test5
OK.
Total: SYS: 0,010 sec USR: 0,020 sec UTC: 0,070 sec
[ErrorCode: 0x00000000]



а когда запускаем php
Цитата:

'Exception' with message 'The system cannot find the file specified. (0x80070002)'

in /var/www/code_geek/om_api/common/components/api/CrptApi.php:127

Stack trace:
#0 /var/www/code_geek/om_api/common/components/api/CrptApi.php(127): CPStore->Open(2, 'test5', 0)
#1 /var/www/code_geek/om_api/common/components/api/CrptApi.php(96): common\components\api\CrptApi->getCertificate(2, 'test5', 0, 1, 'TEST5', 0, 1)


сертификат CN=TEST5 есть в контейнере test5
Цитата:

certmgr -list -store my
Certmgr 1.1 (c) "Crypto-Pro", 2007-2018.
program for managing certificates, CRLs and stores

WARNING: Legacy parameter: "-store my"
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=TEST5
Serial : 0x120040728127288F175B04FCA7000100407281
SHA1 Hash : 8f4783fdce2460222820449fddb48d51ca5483bd
SubjKeyID : a98228bb20dd6293114e9b12d386405f5c582602
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 04/02/2020 10:23:03 UTC
Not valid after : 04/05/2020 10:33:03 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\test5.000\B80B
Provider Name : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro....Test%20Center%202(1).crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro....Test%20Center%202(1).crl
Extended Key Usage : 1.3.6.1.5.5.7.3.4


т.е. php не видит существующие контейнеры?


Offline Санчир Момолдаев  
#2 Оставлено : 4 февраля 2020 г. 14:32:50(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,226
Российская Федерация

Сказал(а) «Спасибо»: 104 раз
Поблагодарили: 292 раз в 272 постах
а если с большой буквы. TEST5
сначала ищется сертификат - а далее по ссылке получают закрытый ключ

Отредактировано пользователем 4 февраля 2020 г. 14:33:45(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline andreygps  
#3 Оставлено : 4 февраля 2020 г. 14:45:50(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
Цитата:

'Exception' with message 'The system cannot find the file specified. (0x80070002)'

in /var/www/code_geek/om_api/common/components/api/CrptApi.php:127

Stack trace:
#0 /var/www/code_geek/om_api/common/components/api/CrptApi.php(127): CPStore->Open(2, 'TEST5', 0)
#1 /var/www/code_geek/om_api/common/components/api/CrptApi.php(96): common\components\api\CrptApi->getCertificate(2, 'TEST5', 0, 1, 'TEST5', 0, 1)



Тоже самое если TEST5

PHP 7.3.14-1

так понимаю дело в расширении PHP?
Offline Санчир Момолдаев  
#4 Оставлено : 4 февраля 2020 г. 14:50:37(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,226
Российская Федерация

Сказал(а) «Спасибо»: 104 раз
Поблагодарили: 292 раз в 272 постах
что вы передаете при вызове метода SetupCertificate (если использовалась наша страница)?
Техническую поддержку оказываем тут
Наша база знаний
Offline andreygps  
#5 Оставлено : 4 февраля 2020 г. 15:00:22(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
В getCertificate приходят эти парамерты:
int(2)
string(5) "TEST5"
int(0)
int(1)
string(5) "TEST5"
int(0)
int(1)

Цитата:

private function signData(string $data): string
{
$certQuery = 'TEST5';
$storageName = 'TEST5';

$cert = $this->getCertificate(CURRENT_USER_STORE, $storageName, STORE_OPEN_READ_ONLY, CERTIFICATE_FIND_SUBJECT_NAME, $certQuery, 0, 1);
if (!$cert) {
throw new Exception('Certificate not found');
}
$signer = new \CPSigner();
$signer->set_TSAAddress(self::TSP_ADDRESS);
$signer->set_Certificate($cert);

$sd = new \CPSignedData();
$sd->set_ContentEncoding(1);
$sd->set_Content(\base64_encode($data));

$sm = $sd->SignCades($signer, 1, false, 0);
$sd->VerifyCades($sm, 1, false);

return $sm;
}

private function getCertificate($location, $name, $mode, $findType, $query, $validOnly, $number)
{
$store = new \CPStore();
$store->Open($location, $name, $mode);
$certs = $store->get_Certificates();
if ($findType !== null) {
$certs = $certs->Find($findType, $query, $validOnly);
if (\is_string($certs)) {
return $certs;
}
return $certs->Item($number);
}

return $certs->Item($number);
}


почему то видит только контейнер My
даже если его удалить
csptest -keyset -deletekeyset -cont '\\.\HDIMAGE\My'

Цитата:

csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 10503699
\\.\HDIMAGE\test
\\.\HDIMAGE\test4
\\.\HDIMAGE\test5
OK.
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 0,090 sec
[ErrorCode: 0x00000000]



и PHP все равно видит My, хотя его нету в списке
Offline Санчир Момолдаев  
#6 Оставлено : 4 февраля 2020 г. 15:09:23(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,226
Российская Федерация

Сказал(а) «Спасибо»: 104 раз
Поблагодарили: 292 раз в 272 постах
$storageName = 'My';
My - это хранилище личное пользователя.

Отредактировано пользователем 4 февраля 2020 г. 15:11:37(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline andreygps  
#7 Оставлено : 4 февраля 2020 г. 16:13:45(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
Подскажите пожалуйста что дальше делать:
Пользоваться только конейнером My или надо сначала выяснить почему не видит другие контейнеры?

Если можно только My
то отсюда можно брать корневой и промежуточный сертификат для теста или нет?
http://testca2012.cryptopro.ru/ui/

Просто если сертификат работать не будет
(Error building certification path for CN=TEST5: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target)
- то не понятно php прочитала контейнер My или нет.
А так можно было бы менять контейнеры.
Offline Санчир Момолдаев  
#8 Оставлено : 4 февраля 2020 г. 16:22:58(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,226
Российская Федерация

Сказал(а) «Спасибо»: 104 раз
Поблагодарили: 292 раз в 272 постах
my это не контейнер. это хранилище сертификатов
судя по
Цитата:

certmgr -list -store my
Certmgr 1.1 (c) "Crypto-Pro", 2007-2018.
program for managing certificates, CRLs and stores

WARNING: Legacy parameter: "-store my"
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=TEST5
Serial : 0x120040728127288F175B04FCA7000100407281
SHA1 Hash : 8f4783fdce2460222820449fddb48d51ca5483bd
SubjKeyID : a98228bb20dd6293114e9b12d386405f5c582602
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 04/02/2020 10:23:03 UTC
Not valid after : 04/05/2020 10:33:03 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\test5.000\B80B
Provider Name : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro....Test%20Center%202(1).crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro....Test%20Center%202(1).crl
Extended Key Usage : 1.3.6.1.5.5.7.3.4

у вас в этом хранилище только один сертификат
контейнеров несколько судя по csptest
выполните /opt/cprocsp/bin/amd64/csptestf -absorb -cert (установим сертификаты с привязкой к ЗК со всех доступных контейнеров)

это вообще из java+jcp. ошибка о том что не может построить доверие. скорее всего не установлен сертификаты цепочки в cacerts
Цитата:

Error building certification path for CN=TEST5: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target

Отредактировано пользователем 4 февраля 2020 г. 16:24:27(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline andreygps  
#9 Оставлено : 4 февраля 2020 г. 16:29:08(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
из JAVA ошибка это я пытаюсь авторизоваться в честном знаке

certmgr -list -store my
у меня там сертификатов 13 штук, это я первый только показал, а как их поудалять оттуда?

Цитата:

dron@dron-pc:~$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert
Match: HDIMAGE\\test.000\2EF8
No cert for AT_KEYEXCHANGE key
Match: HDIMAGE\\test4.000\79CB
No cert for AT_KEYEXCHANGE key
Match: HDIMAGE\\test5.000\B80B
No cert for AT_KEYEXCHANGE key
OK.
Total: SYS: 0,010 sec USR: 0,020 sec UTC: 0,070 sec
[ErrorCode: 0x00000000]
Offline andreygps  
#10 Оставлено : 4 февраля 2020 г. 16:31:21(UTC)
andreygps

Статус: Участник

Группы: Участники
Зарегистрирован: 04.02.2020(UTC)
Сообщений: 25
Российская Федерация
Откуда: Ростов на Дону

Сказал(а) «Спасибо»: 3 раз
Подскажите как установить сертификаты цепочки в cacerts?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.