Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ 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)  | Причина: Не указана

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

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

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

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

она "зависает" ровно на 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
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#4 Оставлено : 19 февраля 2019 г. 22:24:47(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
После привязки сертификата к контейнеру - попробуйте из консоли выполнить подписание,
чтобы убедиться в корректности работы и отсутствии диалогового окна.
Техническую поддержку оказываем тут
Наша база знаний
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,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: 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,260

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 442 раз в 322 постах
Строки из конфига используются в ядре провайдера, поэтому смена кодировки в нём нетривиальная задача. В отличие от задачи чтения этого файла:
Код:
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,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: 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 Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.