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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Белоусов Юрий  
#1 Оставлено : 21 июля 2022 г. 15:34:59(UTC)
Белоусов Юрий

Статус: Новичок

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

Сказал(а) «Спасибо»: 3 раз
Добрый день. Возникла такая ситуация, контейнер есть, сертификат в контейнере тоже есть, пробую подписать документ - выводит ошибку "сертификат не найден".

root@vm156509:~# csptest -keyset -enum_cont -verifycontext -fqcn
CSP (Type:80) v5.0.10003 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 10731331
\\.\HDIMAGE\b752a7fe-68d9-4119-a214-2d5378362880 - 1
OK.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 0.030 sec
[ErrorCode: 0x00000000]
root@vm156509:~# certmgr -list -store uMy
Certmgr 1.1 (c) "Crypto-Pro", 2007-2019.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer : ******************************************
Subject : ******************************************
Serial : ******************************************
SHA1 Hash : *******************************************
SubjKeyID : ************************************************
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 24/12/2021 07:22:00 UTC
Not valid after : 24/12/2022 07:22:00 UTC
PrivateKey Link : No
OCSP URL : http://ocsp.iecp.ru/ocsp
CA cert URL : http://iecp.ru/UC_AC/AC2020.crt
CDP : http://iecp.ru/UC_AC/COC/AC2020.crl
Extended Key Usage :
=============================================================================

[ErrorCode: 0x00000000]
root@vm156509:~# cryptcp -signf -dn E=signer@example.tld 1.pdf
CryptCP 5.0 (c) "Crypto-Pro", 2002-2019.
Command prompt Utility for file signature and encryption.
Error: No certificate found.
/dailybuildsbranches/CSP_5_0r0/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:295: 0x2000012D
[ErrorCode: 0x2000012d]
Online Андрей Русев  
#2 Оставлено : 21 июля 2022 г. 23:06:57(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,499

Сказал(а) «Спасибо»: 42 раз
Поблагодарили: 607 раз в 420 постах
Здравствуйте.
У вас нет ссылки на закрытый ключ - "PrivateKey Link : No". Проще всего поставить пакет cprocsp-cptools-gtk-64, запустить из "Пуска" графическое приложение "Инструменты КриптоПро" / "CryptoPro Tools", на вкладке "Контейнеры", выбрать ваш контейнер и нажать "Установить сертификат". Подписывать можно тоже в нём на вкладке "Создание подписи". https://cryptopro.ru/blo...i-graficheskii-interfeis
Официальная техподдержка. Официальная база знаний.
Offline Белоусов Юрий  
#3 Оставлено : 5 августа 2022 г. 13:40:57(UTC)
Белоусов Юрий

Статус: Новичок

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

Сказал(а) «Спасибо»: 3 раз
Спасибо, загрузил сертификат, но ничего не поменялось. PrivateKeyLink появился. Также не видит сертификат при подписывании

root@vm156509:~# sudo -E -u www-data /opt/cprocsp/bin/amd64/certmgr --list
Certmgr 1.1 (c) "Crypto-Pro", 2007-2019.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer : CN="************", O="******************", OU=***********"
Subject : ********************
Serial : 0x01D7F896FF17ED600000000A381D0002
SHA1 Hash : *********************************
SubjKeyID : **********************************
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 24/12/2021 07:22:00 UTC
Not valid after : 24/12/2022 07:22:00 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\b752a7fe.000\50FC
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
OCSP URL : http://ocsp.iecp.ru/ocsp
CA cert URL : http://iecp.ru/UC_AC/AC2020.crt
CDP : http://iecp.ru/UC_AC/COC/AC2020.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.2
1.3.6.1.5.5.7.3.4
1.3.6.1.4.1.311.20.2.2
1.2.643.2.2.34.25
1.2.643.2.2.34.26
1.2.643.2.2.34.6
1.2.643.100.2.1
1.2.643.100.2.2
=============================================================================

[ErrorCode: 0x00000000]
root@vm156509:~# sudo -E -u www-data /opt/cprocsp/bin/amd64/cryptcp -signf -dn E=signer@example.tld /var/www/html/1.pdf
CryptCP 5.0 (c) "Crypto-Pro", 2002-2019.
Command prompt Utility for file signature and encryption.
Error: No certificate found.
/dailybuildsbranches/CSP_5_0r0/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:295: 0x2000012D
[ErrorCode: 0x2000012d]
root@vm156509:~#
Online Андрей Русев  
#4 Оставлено : 5 августа 2022 г. 15:59:24(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,499

Сказал(а) «Спасибо»: 42 раз
Поблагодарили: 607 раз в 420 постах
Самая простая причина - ошибка там, где вы замазали поля: сертификата с E=signer@example.tld у этого пользователя действительно нет.
Попутно добавлю, что "cryptcp -signf" - это пакетная подпись, она нужна при создании подписей нескольких файлов и имеет непростой интерфейс. Более прозрачный путь - использовать "cryptcp -sign -detached", если на самом деле вам нужна была отделённая подпись, а не пакетная обработка.
Официальная техподдержка. Официальная база знаний.
thanks 1 пользователь поблагодарил Русев Андрей за этот пост.
Белоусов Юрий оставлено 23.08.2022(UTC)
Offline Белоусов Юрий  
#5 Оставлено : 23 августа 2022 г. 16:35:56(UTC)
Белоусов Юрий

Статус: Новичок

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

Сказал(а) «Спасибо»: 3 раз
Спасибо, получилось. А можете ещё пожалуйста подсказать. Формирую строку для авторизации через есиа.
Передаю строку, делаю подпись.

$signer = new CPSigner();
$signer->set_Certificate($certificate->GetCertificate());
$signer->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);

if ($certificate->GetPin()) {
$signer->set_KeyPin($certificate->GetPin());
}

$signedData = new CPSignedData();
$signedData->set_ContentEncoding(BASE64_TO_BINARY);
$signedData->set_Content($toBase64 ? base64_encode($data) : $data);

$signedMessage = $signedData->SignCades($signer, CADES_BES, self::SIGN_DETACHED, ENCODE_BASE64);


В работающем примере - строка подписи длиной 3956 символов, у меня получается строка длиной 9479 символов. Хотя подписываю ту же самую строку что и в примере, тем же самым сертификатом. Почему может быть такая разница?

Offline Андрей *  
#6 Оставлено : 23 августа 2022 г. 17:02:55(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,666
Мужчина
Российская Федерация

Сказал «Спасибо»: 571 раз
Поблагодарили: 2298 раз в 1799 постах
Автор: Белоусов Юрий Перейти к цитате

В работающем примере - строка подписи длиной 3956 символов, у меня получается строка длиной 9479 символов. Хотя подписываю ту же самую строку что и в примере, тем же самым сертификатом. Почему может быть такая разница?




Из-за опции:
Цитата:

$signer->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);


Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.