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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline A.X.  
#1 Оставлено : 24 ноября 2024 г. 9:10:01(UTC)
A.X.

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

Группы: Участники
Зарегистрирован: 29.11.2023(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Возникла проблема - при подписании от служебного пользователя www-data получаем ошибку "Не удалось получить закрытый ключ сертификата."
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/cryptcp -sign -dn 'ООО ""***""' /var/www/html/***/***/***/***/***/***/***/***.pdf /var/www/html/***/***/***/***/***/***/***/***.pdf.sig -nochain
[sudo] пароль для ***: 
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:***, ***, ***, ***, ***, ***, ***, ***
Действителен с 16.10.2023 07:07:10 по 16.01.2025 07:17:10

Папка '/var/www/html/***/***/***/***/***/***/***/':
/var/www/html/***/***/***/***/***/***/***/***.pdf... Ошибка: Не удалось получить закрытый ключ сертификата.
../../../../CSPbuild/CSP/samples/CPCrypt/DSign.cpp:487: 0x20000136
[ErrorCode: 0x20000136]

При этом, в списке сертификатов данного пользователя есть закрытый ключ
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/certmgr -list -store uMy;
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2021.
Программа для работы с сертификатами, CRL и хранилищами.
=============================================================================
1-------
Издатель            : INNLE=7707329152, E=uc@tax.gov.ru, OGRN=1047707030513, C=RU, S=77 Москва, L=г. Москва, STREET="ул. Неглинная, д. 23", O=Федеральная налоговая служба, CN=Федеральная налоговая служба
Субъект             : INNLE=***, SNILS=***, OGRN=***, INN=***, C=RU, S=***, L=***, STREET="***", O="***", CN="***", T=***, G=***, SN=***
Серийный номер      : 0x01E***8DC
SHA1 отпечаток      : 49e***072
Идентификатор ключа : e66***968
Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан               : 16/10/2023  07:07:10 UTC
Истекает            : 16/01/2025  07:17:10 UTC
Ссылка на ключ      : Есть                
Контейнер           : HDIMAGE\\547c84b4.000\5A82
Имя провайдера      : Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
Инфо о провайдере   : Тип провайдера: 80, тип ключа: 1, флаги: 0x0
Тип идентификации   : При личном присутствии
OCSP URL            : http://pki.tax.gov.ru/ocsp02/ocsp.srf
URL сертификата УЦ  : http://pki.tax.gov.ru/crt/ca_fns_russia_2022_02.crt
URL сертификата УЦ  : http://cdp.tax.gov.ru/crt/ca_fns_russia_2022_02.crt
URL сертификата УЦ  : http://c0000-app005/crt/ca_fns_russia_2022_02.crt
URL списка отзыва   : http://pki.tax.gov.ru/cdp/e91***a50.crl
URL списка отзыва   : http://c0000-app005/cdp/e91***a50.crl
URL списка отзыва   : http://cdp.tax.gov.ru/cdp/e91***a50.crl
Назначение/EKU      : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
                      1.3.6.1.5.5.7.3.4 Защищенная электронная почта
                      1.2.643.2.2.34.34.1.54.5410
2-------
Издатель            : E=dit@digital.gov.ru, C=RU, S=77 Москва, L=г. Москва, STREET="Пресненская набережная, дом 10, строение 2", O=Минцифры России, OGRN=1047702026701, INNLE=7710474375, CN=Минцифры России
Субъект             : E=dit@digital.gov.ru, C=RU, S=77 Москва, L=г. Москва, STREET="Пресненская набережная, дом 10, строение 2", O=Минцифры России, OGRN=1047702026701, INNLE=7710474375, CN=Минцифры России
Серийный номер      : 0x00951FA3477C61043AADFA858627823442
SHA1 отпечаток      : 2f0cb09be3550ef17ec4f29c90abd18bfcaad63a
Идентификатор ключа : c91358b14ca7623a7ed23f3ca6e7147c9d70a386
Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан               : 08/01/2022  13:32:39 UTC
Истекает            : 08/01/2040  13:32:39 UTC
Ссылка на ключ      : Нет                 
Тип идентификации   : При личном присутствии
3-------
Издатель            : E=dit@digital.gov.ru, C=RU, S=77 Москва, L=г. Москва, STREET="Пресненская набережная, дом 10, строение 2", O=Минцифры России, OGRN=1047702026701, INNLE=7710474375, CN=Минцифры России
Субъект             : INNLE=7707329152, E=uc@tax.gov.ru, OGRN=1047707030513, C=RU, S=77 Москва, L=г. Москва, STREET="ул. Неглинная, д. 23", O=Федеральная налоговая служба, CN=Федеральная налоговая служба
Серийный номер      : 0x67A077B10000000006E8
SHA1 отпечаток      : 08a4c134ffe120d8572df0cb8465e6c3a77e7727
Идентификатор ключа : e91f07442c45b2cf599ee949e5d83e8382b94a50
Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан               : 15/11/2022  07:58:08 UTC
Истекает            : 15/11/2037  07:58:08 UTC
Ссылка на ключ      : Нет                 
Тип идентификации   : Без личного присутствия по квалифицированной подписи
URL сертификата УЦ  : http://reestr-pki.ru/cdp/guc2022.crt
URL списка отзыва   : http://reestr-pki.ru/cdp/guc2022.crl
URL списка отзыва   : http://company.rt.ru/cdp/guc2022.crl
URL списка отзыва   : http://rostelecom.ru/cdp/guc2022.crl
=============================================================================

[ErrorCode: 0x00000000]

Подскажите пожалуйста, в чем может быть проблема?

Отредактировано пользователем 24 ноября 2024 г. 9:11:25(UTC)  | Причина: Не указана

Offline nickm  
#2 Оставлено : 24 ноября 2024 г. 9:39:43(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,590

Сказал(а) «Спасибо»: 607 раз
Поблагодарили: 451 раз в 427 постах
В остальном СКЗИ работает корректно?

Можно было бы выверить список установленных пакетов, версию используемого СКЗИ, протестировать контейнер, например с указанием ПИН'а:
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/csptestf -keyset -container 'HDIMAGE\\547c84b4.000\5A82' -check -pass 12345678

, проверить права доступа к ключевому контейнеру - файловой директории.

Вместо -dn можно использовать -thumbprint, что однозначно определит сертификат.

Случаем, этот же контейнер не используется другими пользователями? Т.е. он уникален в пределах системы?

+

Автор: A.X. Перейти к цитате
Код:
Назначение/EKU      : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
                      1.3.6.1.5.5.7.3.4 Защищенная электронная почта
                      1.2.643.2.2.34.34.1.54.5410

Последний OID вызвал вопрос, что-то такой ранее не встречал. Может ключ не подходит для подписи/ шифрования? Хотя ошибка явно говорит, что проблема с доступом к закрытому ключу.

Отредактировано пользователем 24 ноября 2024 г. 10:10:02(UTC)  | Причина: Не указана

Offline A.X.  
#3 Оставлено : 24 ноября 2024 г. 10:57:11(UTC)
A.X.

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

Группы: Участники
Зарегистрирован: 29.11.2023(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 1 раз
Автор: nickm Перейти к цитате
В остальном СКЗИ работает корректно?

Проверка контейнера под www-data показывает "Неправильный зарегистрированный набор ключей. "
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/csptestf -keyset -container 'HDIMAGE\\547c84b4.000\5A82' -check
[sudo] пароль для admin***: 
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
../../../../CSPbuild/CSP/samples/csptest/ctkey.c:1165:AcquireContext("HDIMAGE\\547c84b4.000\5A82")
Error 0x8009001a: Неправильный зарегистрированный набор ключей. 
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,000 sec
[ErrorCode: 0x8009001a]

Но, Вы правы, контейнер не уникален в рамках состемы, у админа ссылка на контейнер та же.
То есть необходимый набор ключей лежит в папках /var/opt/cprocsp/keys/www-data/547c84b4.000 и /var/opt/cprocsp/keys/admin/547c84b4.000
Под админом все работает корректно.
Установка сертификата второму пользователю производилось командой (руками ключи не копировал)
Код:
sudo -u www-data /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -pfx -pin *** -file /media/***/***.pfx

Результат csptest
Код:
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn -uniq
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 34996227
\\.\HDIMAGE\547c84b4-dd34-4086-9a3a-6019a54644c9-|\\.\HDIMAGE\HDIMAGE\\547c84b4.000\5A82
OK.
Total: SYS: 0,010 sec USR: 0,080 sec UTC: 0,110 sec
[ErrorCode: 0x00000000]
$ sudo -u www-data /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn -uniq
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 42332163
../../../../CSPbuild/CSP/samples/csptest/ctkey.c:2274:GetProvParam(PP_ENUMCONTAINERS)
Error 0x8009000a: Указан неправильный тип. 
Total: SYS: 0,000 sec USR: 0,060 sec UTC: 0,080 sec
[ErrorCode: 0x8009000a]

Как, более оптимально, исправить эту проблему?

Отредактировано пользователем 24 ноября 2024 г. 12:03:08(UTC)  | Причина: Не указана

Offline nickm  
#4 Оставлено : 24 ноября 2024 г. 11:52:39(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,590

Сказал(а) «Спасибо»: 607 раз
Поблагодарили: 451 раз в 427 постах
Автор: A.X. Перейти к цитате
Но, Вы правы, контейнер не уникален в рамках системы, у админа ссылка на контейнер та же.

Это и может быть причиной;

Автор: A.X. Перейти к цитате
Установка сертификата второму пользователю производилось командой (руками ключи не копировал)

Копировать контейнер - директорию с файлами, в любом случае пользователю требуется, как и проверять права доступа.

Как вариант, скопируйте контейнер ключа под другим именем, что бы они различались у пользователей, либо оставьте контейнер только у пользователя www-data.

Ещё, как вариант для проверки, прочитать, понять, протестировать сценарий указанный в этом сообщении. Но, это не рекомендуемый сценарий, правильней будет исключить использование одинакового контейнера ключа различными пользователями.

Отредактировано пользователем 24 ноября 2024 г. 12:10:46(UTC)  | Причина: Не указана

Offline nickm  
#5 Оставлено : 24 ноября 2024 г. 12:12:28(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,590

Сказал(а) «Спасибо»: 607 раз
Поблагодарили: 451 раз в 427 постах
Автор: A.X. Перейти к цитате
Как, более оптимально, исправить эту проблему?

Автор: nickm Перейти к цитате
Как вариант, скопируйте контейнер ключа под другим именем, что бы они различались у пользователей, либо оставьте контейнер только у пользователя www-data.

После не забудьте переустановить сертификат с привязкой к новому контейнеру.

Отредактировано пользователем 24 ноября 2024 г. 12:15:05(UTC)  | Причина: Не указана

Offline Андрей *  
#6 Оставлено : 24 ноября 2024 г. 13:51:14(UTC)
Андрей *

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

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

Сказал «Спасибо»: 571 раз
Поблагодарили: 2297 раз в 1798 постах
Автор: nickm Перейти к цитате


Автор: A.X. Перейти к цитате
Код:
Назначение/EKU      : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
                      1.3.6.1.5.5.7.3.4 Защищенная электронная почта
                      1.2.643.2.2.34.34.1.54.[h]5410[/h]

Последний OID вызвал вопрос, что-то такой ранее не встречал. Может ключ не подходит для подписи/ шифрования? Хотя ошибка явно говорит, что проблема с доступом к закрытому ключу.



это от УЦ ФНС, номер - 5410 ИФНС,
обезличенный сертификат, вероятно, для ИС.
Техническую поддержку оказываем тут
Наша база знаний
Offline A.X.  
#7 Оставлено : 24 ноября 2024 г. 18:15:33(UTC)
A.X.

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

Группы: Участники
Зарегистрирован: 29.11.2023(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 1 раз
1. Удалил сертификат пользователю www-data
2. Переименовал контейнер /var/opt/cprocsp/keys/www-data/547c84b4.000
=> /var/opt/cprocsp/keys/www-data/547c84b5.000 (файлы .key остались лежать там)
3. Ставлю сертификат заново, указывая расположение контейнера
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -file /var/www/html/***/***.cer -cont '/var/opt/cprocsp/keys/www-data/547c84b5.000'
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2021.
Программа для работы с сертификатами, CRL и хранилищами.
Идёт установка: 
=============================================================================
1-------
Издатель            : INNLE=7707329152, E=uc@tax.gov.ru, OGRN=1047707030513, C=RU, S=77 Москва, L=г. Москва, STREET="ул. Неглинная, д. 23", O=Федеральная налоговая служба, CN=Федеральная налоговая служба
Субъект             : INNLE=***, SNILS=***, OGRN=***, INN=***, C=RU, S=***, L=***, STREET="***", O=***, CN=***, T=***, G=***, SN=***
Серийный номер      : 0x01E***8DC
SHA1 отпечаток      : 49e***072
Идентификатор ключа : e66***968
Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан               : 16/10/2023  07:07:10 UTC
Истекает            : 16/01/2025  07:17:10 UTC
Ссылка на ключ      : Нет                 
Тип идентификации   : При личном присутствии
OCSP URL            : http://pki.tax.gov.ru/ocsp02/ocsp.srf
URL сертификата УЦ  : http://pki.tax.gov.ru/crt/ca_fns_russia_2022_02.crt
URL сертификата УЦ  : http://cdp.tax.gov.ru/crt/ca_fns_russia_2022_02.crt
URL сертификата УЦ  : http://c0000-app005/crt/ca_fns_russia_2022_02.crt
URL списка отзыва   : http://pki.tax.gov.ru/cdp/e91f07442c45b2cf599ee949e5d83e8382b94a50.crl
URL списка отзыва   : http://c0000-app005/cdp/e91f07442c45b2cf599ee949e5d83e8382b94a50.crl
URL списка отзыва   : http://cdp.tax.gov.ru/cdp/e91f07442c45b2cf599ee949e5d83e8382b94a50.crl
Назначение/EKU      : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
                      1.3.6.1.5.5.7.3.4 Защищенная электронная почта
                      1.2.643.2.2.34.34.1.54.5410
=============================================================================
Authorization required, but no authorization protocol specified
Insert carrier to open container /var/opt/cprocsp/keys/www-data/547c84b5.000
Press 'c' to cancel: 

И далее не понимаю, что система от меня хочет - ввожу пароль ключа контейнера, но поле ввода и Press 'c' to cancel: появляется снова
Пробовал прокинуть флешку rutoken ключем ФНС, но нет результата, вероятно, так как контейнер на ней называется по старому.
Сертификат с контейнером пользователю Admin ставил через .pfx Возможно есть способ установить пользователю www-data также используя pfx но задав конечное имя контейнера?

Отредактировано пользователем 24 ноября 2024 г. 18:50:16(UTC)  | Причина: Не указана

Offline nickm  
#8 Оставлено : 24 ноября 2024 г. 18:50:38(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,590

Сказал(а) «Спасибо»: 607 раз
Поблагодарили: 451 раз в 427 постах
Копировать надо с помощью утилит "КриптоПро".

Попробую показать на примерах, например:



Т.е. достигли желаемого, копированием заполучили другие контейнеры ключей.

Отредактировано пользователем 24 ноября 2024 г. 18:51:24(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил nickm за этот пост.
A.X. оставлено 24.11.2024(UTC)
Offline A.X.  
#9 Оставлено : 24 ноября 2024 г. 19:54:58(UTC)
A.X.

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

Группы: Участники
Зарегистрирован: 29.11.2023(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 1 раз
Ключи скопировать не удалось, поскольку, вероятно, они помечены как неэкспортируемые

Проблему в итоге решил предложенным Вами альтернативным способом
Код:
$ sudo sysctl fs.protected_regular=1
fs.protected_regular = 1
sudo chown -R root /var/opt/cprocsp/tmp
sudo chmod -R a+rw /var/opt/cprocsp/tmp

Проверка от имени www-data
Код:
$ sudo -u www-data /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn -uniq
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 18817027
\\.\HDIMAGE\547c84b4-dd34-4086-9a3a-6019a54644c9-|\\.\HDIMAGE\HDIMAGE\\547c84b4.000\5A82
OK.
Total: SYS: 0,000 sec USR: 0,070 sec UTC: 0,080 sec
[ErrorCode: 0x00000000]

Проверка от имени админа
Код:
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn -uniq
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 24547331
\\.\HDIMAGE\547c84b4-dd34-4086-9a3a-6019a54644c9-|\\.\HDIMAGE\HDIMAGE\\547c84b4.000\5A82
OK.
Total: SYS: 0,000 sec USR: 0,080 sec UTC: 0,090 sec
[ErrorCode: 0x00000000]

Вероятно, этот способ решения единственный, если мы имеем дело с неэкспортируемыми ГОСТ-ключами ФНС.

Отредактировано пользователем 24 ноября 2024 г. 19:55:58(UTC)  | Причина: Не указана

Offline nickm  
#10 Оставлено : 24 ноября 2024 г. 20:14:58(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,590

Сказал(а) «Спасибо»: 607 раз
Поблагодарили: 451 раз в 427 постах
Автор: A.X. Перейти к цитате
Вероятно, этот способ решения единственный, если мы имеем дело с неэкспортируемыми ГОСТ-ключами ФНС.

Но, Вы же каким-то образом *.pfx получили?

Автор: A.X. Перейти к цитате
И далее не понимаю, что система от меня хочет - ввожу пароль ключа контейнера, но поле ввода и Press 'c' to cancel: появляется снова

Вероятно из-за того, что у второго пользователя контейнер в директории в этот момент присутствует, и его, до/ перед/ предварительно/ при проведении процедуры копирования нужно переместить.

Автор: A.X. Перейти к цитате
Ключи скопировать не удалось, поскольку, вероятно, они помечены как неэкспортируемые

Да, вспомнилось - при импорте *.pfx, по умолчанию, ключ помечается как не экспортируемый, но это дело может поправить следующий параметр:
Код:
  -keep_exportable  Пометить импортированные ключи как экспортируемые

Отредактировано пользователем 25 ноября 2024 г. 7:14:21(UTC)  | Причина: Не указана

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