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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline onikitin  
#1 Оставлено : 19 февраля 2019 г. 2:10:54(UTC)
onikitin

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

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

Сказал(а) «Спасибо»: 4 раз
Коллеги, доброго времени суток.

На промышленном сервере возникла проблема с функцией "CadesSignMessage" - она "зависает" ровно на 10 минут, потом возникает ошибка 0x8010006E.

Вот кусок лога программы, вызывающей эту функцию:
Код:
2019-02-19 01:18:58.118450  rcpd: >>> CadesSignMessage (2)
2019-02-19 01:28:58.276841  error
EDS: CadesSignMessage.
Code: 0x8010006E
2019-02-19 01:28:58.277282  <<< CadesSignMessage error!!! (2)


На сервере установлены сертификаты по ГОСТ 2001. После обновления с версии 3.9 до 4.0 они не переустанавливались, контейнера закрытых ключей также не изменялись.
Сертификат выглядит так:
Код:
3-------
Issuer              : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject             : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХХХ", E=info@vtbins.ru, C=RU, S=77 г. Москва, L=Москва, O="ХХХХХХХ", CN="ХХХХХХХ"
Serial              : 0x04DC104EE49490E380E71192B53BB735F8
SHA1 Hash           : dba61fa8672cc86fa84a82b7e187fb6006b83bef
SubjKeyID           : e8f105c25753352d5b55d2c73d23fd9c4a1ab952
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 20/10/2017  12:24:10 UTC
Not valid after     : 20/10/2018  12:34:10 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\MMCnew20.000\0D48
Provider Name       : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info       : ProvType: 75, KeySpec: 1, Flags: 0x0
OCSP URL            : http://qs.cryptopro.ru/ocspq2/ocsp.srf
CA cert URL         : http://cdp.cryptopro.ru/ra/aia/2921f219d74584c6a974e64ec5145890683108ca.crt
CA cert URL         : http://q20.cryptopro.ru/aia/2921f219d74584c6a974e64ec5145890683108ca.crt
CDP                 : http://cdp.cryptopro.ru/ra/cdp/2921f219d74584c6a974e64ec5145890683108ca.crl
CDP                 : http://q20.cryptopro.ru/cdp/2921f219d74584c6a974e64ec5145890683108ca.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.1
=============================================================================



На тестовом сервере такой проблемы не возникло, но там установлен тестовый сертификат по ГОСТ 2012
Ещё есть разница с тестовым сервером в том, что на нём установлен пакет lsb-cprocsp-devel-4.0.9921-5.noarch.rpm, но на промышленном сервере вместо него в архиве "cades_linux_amd64.tar.gz" есть пакет "cprocsp-pki-2.0.0-amd64-sapssf.rpm"

Вот код вызова этой функции:
Код:

	// пробовал так - не помогает:
	//signPara.HashAlgorithm.pszObjId = (char*)szOID_CP_GOST_R3411;

	signPara.HashAlgorithm.pszObjId = "1.2.643.2.2.9";			// ГОСТ 2001

	//signPara.HashAlgorithm.pszObjId = "1.2.643.7.1.1.2.2";		// ГОСТ 2012 256
	//signPara.HashAlgorithm.pszObjId = "1.2.643.7.1.1.2.3";		// ГОСТ 2012 512
	signPara.cMsgCert = 1;
	signPara.rgpMsgCert = &pCertContext;

	CADES_SIGN_PARA cadesSignPara;
	memset(&cadesSignPara, 0, sizeof(CADES_SIGN_PARA));
	cadesSignPara.dwSize = sizeof(CADES_SIGN_PARA);
	cadesSignPara.dwCadesType = CADES_BES;

	CADES_SIGN_MESSAGE_PARA para;
	memset(&para, 0, sizeof(CADES_SIGN_MESSAGE_PARA));
	para.dwSize = sizeof(CADES_SIGN_MESSAGE_PARA);
	para.pSignMessagePara = &signPara;
	para.pCadesSignPara = &cadesSignPara;

	PCRYPT_DATA_BLOB pSignedMessage = 0;

	char buf1[128];
	sprintf(buf1, "%s (%d)", "rcpd: >>> CadesSignMessage", socket);
	putLog(buf1);
	if(!CadesSignMessage(&para,
		TRUE,		// detached
		1,
		(const BYTE**)&request->data,
		(DWORD*)&request->dataSize,
		&pSignedMessage))
	{
		HandleErrorWin((char*)"EDS: CadesSignMessage.", buf, bufSize);
		CryptReleaseContext((HCRYPTPROV)pCertContext, 0);
		CertCloseStore(hCertStore, CERT_CLOSE_STORE_FORCE_FLAG);
		sprintf(buf1, "%s (%d)", "<<< CadesSignMessage error!!!", socket);
		putLog(buf1);
		return;
	}
	sprintf(buf1, "%s (%d)", "<<< CadesSignMessage success", socket);
	putLog(buf1);


Подскажите, куда копать?

Offline onikitin  
#2 Оставлено : 19 февраля 2019 г. 2:44:02(UTC)
onikitin

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

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

Сказал(а) «Спасибо»: 4 раз
После деинсталляции версии 4.0 и установки версии 3.9 (а также пересборки модуля получения ЭЦП) возникает ошибка:
Код:
CryptAcquireCertificatePrivateKey. Code: 0x8009200B message: Cannot find the certificate and private key for decryption."


Сертификат выглядит так:
Код:
1-------
Issuer            : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject           : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХ", C=RU, S=77 г. Москва, L=Москва, O="ХХХХХ", CN="ХХХХХХ"
Serial            : 0x04DC104EE49490EE80E8110ECE695A69B5
SHA1 Hash         : 0x1fa426601cd5fcacc0e9dc536182ad09ef5288cb
SubjKeyID         : b199bd754aea0568fcce5ca2927093d586c6fdcc
Not valid before  : 12/10/2018  10:55:22 UTC
Not valid after   : 28/02/2019  21:00:00 UTC
PrivateKey Link   : No

=============================================================================


Контейнеры закрытых ключей присутствуют:
Код:
[resolute@2partner ~]$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
CSP (Type:75) v3.9.8010 KC1 Release Ver:3.9.8495 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 17809107
\\.\HDIMAGE\MMCnew
\\.\HDIMAGE\MMCnew2017
\\.\HDIMAGE\partner2
\\.\HDIMAGE\partner3
\\.\HDIMAGE\gbu_2018_1
OK.
Total: SYS: 0.000 sec USR: 0.010 sec UTC: 0.050 sec
[ErrorCode: 0x00000000]
[resolute@2partner ~]$


Почему-то потерялся "PrivateKey Link" как его восстановить?

Попытка привязать сертификат к контейнеру закрытого ключа ничего не дала:
Код:
[resolute@2partner ~]$ /opt/cprocsp/bin/amd64/certmgr -inst -file ./cert.der -cont '\\.\HDIMAGE\partner3'
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

Install:
=============================================================================
1-------
Issuer            : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject           : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХ", C=RU, S=77 г. Москва, L=Москва, O="ХХХХХ", CN="ХХХХХХ"
Serial            : 0x04DC104EE49490EE80E8110ECE695A69B5
SHA1 Hash         : 0x1fa426601cd5fcacc0e9dc536182ad09ef5288cb
SubjKeyID         : b199bd754aea0568fcce5ca2927093d586c6fdcc
Not valid before  : 12/10/2018  10:55:22 UTC
Not valid after   : 28/02/2019  21:00:00 UTC
PrivateKey Link   : No
=============================================================================
Can not install certificate
Public keys in certificate and container are not identical

The requested certificate does not exist.
[ErrorCode: 0x8010002c]

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

Online Андрей Писарев  
#3 Оставлено : 19 февраля 2019 г. 22:20:59(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Здравствуйте.
Цитата:

она "зависает" ровно на 10 минут, потом возникает ошибка 0x8010006E.

- The action was cancelled by the user.




Цитата:

Can not install certificate
Public keys in certificate and container are not identical


Не тот сертификат\не тот контейнер используете при установке ссылки.

А в контейнере есть сертификат? Тогда установить из контейнера
Цитата:

/opt/cprocsp/bin/amd64/csptestf -absorb -certs
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#4 Оставлено : 19 февраля 2019 г. 22:24:47(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
После привязки сертификата к контейнеру - попробуйте из консоли выполнить подписание,
чтобы убедиться в корректности работы и отсутствии диалогового окна.
Техническую поддержку оказываем тут
Наша база знаний
Offline onikitin  
#5 Оставлено : 19 февраля 2019 г. 23:33:36(UTC)
onikitin

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей Писарев Перейти к цитате
После привязки сертификата к контейнеру - попробуйте из консоли выполнить подписание,
чтобы убедиться в корректности работы и отсутствии диалогового окна.


Спасибо за ответ.
Я отвечу сразу на оба ваших поста:

1. - The action was cancelled by the user. Расшифровку ошибки обнаружил сразу же после её возникновения. Проблема в том, что ф-ция CadesSignMessage зависает "навсегда", и её срубает какой-то таймаут. Т.е. ф-ция CadesSignMessage попросту не работает. Хотелось бы узнать почему? Может кто-то наступал уже на эти грабли.

2. Не тот сертификат\не тот контейнер используете при установке ссылки. Сертификат, как и контейнер нормально работали в версии 3.9. Псоле установки версии 4.0 было видно, что сертификат привязан к контейнеру:
Код:
3-------
Issuer              : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject             : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХХХ", E=info@vtbins.ru, C=RU, S=77 г. Москва, L=Москва, O="ХХХХХХХ", CN="ХХХХХХХ"
..........................
PrivateKey Link     : Yes
Container           : HDIMAGE\\MMCnew20.000\0D48
..........................

Однако, после возврата на версию 3.9 связь пропала:
Код:
1-------
Issuer            : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject           : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХ", C=RU, S=77 г. Москва, L=Москва, O="ХХХХХ", CN="ХХХХХХ"
..........................
PrivateKey Link   : No
=============================================================================

Я не знаю, как установить сертификат из контейнера. Насколько я понимаю, контейнер содержит закрытый ключ, по которому был создан сертификат. Сам сертификат хранится в отдельном хранилище и содержит ссылку на контейнер с закрытым ключом. Если есть какая-либо команда, восстанавливающая сертификат из контейнера, то напишите её пожалуйста.

Насколько я понял, версия 4.0 изменила формат контейнера, и теперь версия 3.9 уже не может с ним работать. При этом сами контейнеры видны:
Код:
[resolute@2partner ~]$ /opt/cprocsp/bin/amd64/csptestf -absorb -certs
Match: HDIMAGE\\MMCnew.000\B6FB
Match: HDIMAGE\\MMCnew20.000\0D48
Match: HDIMAGE\\partner2.000\64B9
Match: HDIMAGE\\partner3.000\A579
Match: HDIMAGE\\gbur2018.000\581B
OK.
Total: SYS: 0.010 sec USR: 0.010 sec UTC: 0.080 sec
[ErrorCode: 0x00000000]
[resolute@2partner ~]$



Offline Александр Лавник  
#6 Оставлено : 20 февраля 2019 г. 9:56:07(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 777 раз в 719 постах
Автор: onikitin Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
После привязки сертификата к контейнеру - попробуйте из консоли выполнить подписание,
чтобы убедиться в корректности работы и отсутствии диалогового окна.


Спасибо за ответ.
Я отвечу сразу на оба ваших поста:

1. - The action was cancelled by the user. Расшифровку ошибки обнаружил сразу же после её возникновения. Проблема в том, что ф-ция CadesSignMessage зависает "навсегда", и её срубает какой-то таймаут. Т.е. ф-ция CadesSignMessage попросту не работает. Хотелось бы узнать почему? Может кто-то наступал уже на эти грабли.

2. Не тот сертификат\не тот контейнер используете при установке ссылки. Сертификат, как и контейнер нормально работали в версии 3.9. Псоле установки версии 4.0 было видно, что сертификат привязан к контейнеру:
Код:
3-------
Issuer              : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject             : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХХХ", E=info@vtbins.ru, C=RU, S=77 г. Москва, L=Москва, O="ХХХХХХХ", CN="ХХХХХХХ"
..........................
PrivateKey Link     : Yes
Container           : HDIMAGE\\MMCnew20.000\0D48
..........................

Однако, после возврата на версию 3.9 связь пропала:
Код:
1-------
Issuer            : OGRN=1037700085444, INN=007717107991, STREET=ул. Сущёвский вал д. 18, E=qca@cryptopro.ru, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="ООО ""КРИПТО-ПРО"""
Subject           : OGRN=1027700462514, INN=007702263726, STREET="ХХХХХ", C=RU, S=77 г. Москва, L=Москва, O="ХХХХХ", CN="ХХХХХХ"
..........................
PrivateKey Link   : No
=============================================================================

Я не знаю, как установить сертификат из контейнера. Насколько я понимаю, контейнер содержит закрытый ключ, по которому был создан сертификат. Сам сертификат хранится в отдельном хранилище и содержит ссылку на контейнер с закрытым ключом. Если есть какая-либо команда, восстанавливающая сертификат из контейнера, то напишите её пожалуйста.

Насколько я понял, версия 4.0 изменила формат контейнера, и теперь версия 3.9 уже не может с ним работать. При этом сами контейнеры видны:
Код:
[resolute@2partner ~]$ /opt/cprocsp/bin/amd64/csptestf -absorb -certs
Match: HDIMAGE\\MMCnew.000\B6FB
Match: HDIMAGE\\MMCnew20.000\0D48
Match: HDIMAGE\\partner2.000\64B9
Match: HDIMAGE\\partner3.000\A579
Match: HDIMAGE\\gbur2018.000\581B
OK.
Total: SYS: 0.010 sec USR: 0.010 sec UTC: 0.080 sec
[ErrorCode: 0x00000000]
[resolute@2partner ~]$




Здравствуйте.

По поводу таймаута есть подозрение, что проблема в предупреждающем сообщении о использовании ГОСТ Р 34.10-2001.

Больше информации здесь.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
onikitin оставлено 20.02.2019(UTC)
Offline onikitin  
#7 Оставлено : 21 февраля 2019 г. 1:28:22(UTC)
onikitin

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Александр Лавник Перейти к цитате


По поводу таймаута есть подозрение, что проблема в предупреждающем сообщении о использовании ГОСТ Р 34.10-2001.

Больше информации здесь.


Так оно и было. Спасибо, но хотелось бы, чтобы уж коль скоро есть закон о том, что действие ГОСТ 2001 продляется до 2020 года, параметры продления действия ГОСТ 2001 в /etc/opt/cprocsp/config64.ini были установлены по умолчанию.
Offline onikitin  
#8 Оставлено : 21 февраля 2019 г. 2:06:30(UTC)
onikitin

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Александр Лавник Перейти к цитате

Здравствуйте.

По поводу таймаута есть подозрение, что проблема в предупреждающем сообщении о использовании ГОСТ Р 34.10-2001.

Больше информации здесь.


Александр, я понимаю, что вопрос не к вам, но не могли бы вы эскалировать вопрос о переводе кодировки файла /etc/opt/cprocsp/config64.ini в utf-8, на всех linux системах этот файл абсолютно нечитаем:
Код:
#vim:set sw=4 ts=8 fileencoding=cp1251::▒▒▒▒▒▒▒▒▒:WINDOWS-1251[▒▒▒▒▒▒▒▒]
# $Revision: 181172 $
#

[Random]
# ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒
# Bio - ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒
# Dsrf - ▒▒▒▒▒▒ ▒▒▒▒
# Accord - ▒▒▒▒▒▒ ▒▒▒▒▒▒
# Sable - ▒▒▒▒▒▒ ▒▒▒▒▒▒
[Random\Dsrf]
Offline Русев Андрей  
#9 Оставлено : 21 февраля 2019 г. 10:59:41(UTC)
Русев Андрей

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 446 раз в 325 постах
Строки из конфига используются в ядре провайдера, поэтому смена кодировки в нём нетривиальная задача. В отличие от задачи чтения этого файла:
Код:
user@hw-e2k8c-astra:~$ cat /etc/opt/cprocsp/config64.ini |iconv -fcp1251|head
#vim:set sw=4 ts=8 fileencoding=cp1251::Кодировка:WINDOWS-1251[АБЁЪЯабёъя]
# $Revision: 185915 $
#

[Random]
# Датчики случайных чисел
# Bio - Биологический датчик
# Dsrf - Датчик ДСРФ
# Accord - Датчик Аккорд
# Sable - Датчик Соболь
Официальная техподдержка. Официальная база знаний.
Offline Александр Лавник  
#10 Оставлено : 21 февраля 2019 г. 12:35:25(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 777 раз в 719 постах
Автор: onikitin Перейти к цитате
Автор: Александр Лавник Перейти к цитате


По поводу таймаута есть подозрение, что проблема в предупреждающем сообщении о использовании ГОСТ Р 34.10-2001.

Больше информации здесь.


Так оно и было. Спасибо, но хотелось бы, чтобы уж коль скоро есть закон о том, что действие ГОСТ 2001 продляется до 2020 года, параметры продления действия ГОСТ 2001 в /etc/opt/cprocsp/config64.ini были установлены по умолчанию.

Здравствуйте.

Блокировка использования ключей по ГОСТ Р 34.10-2001 есть только в КриптоПро CSP 4.0 при включенном усиленном контроле использования ключей.

Как перенести дату блокировки и отключить предупреждающие сообщения описано по ссылке из предыдущего сообщения.

В КриптоПро CSP 4.0 R4 (последний сертифицированный релиз на данный момент) дата блокировки перенесена на 01.01.2020 и предупреждающие сообщения также содержат информацию об использовании ключей по ГОСТ Р 34.10-2001 после 01.01.2020.

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