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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline neigel  
#1 Оставлено : 19 апреля 2017 г. 14:25:35(UTC)
neigel

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

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

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Здравствуйте, господа.

Не нашел отдельного подфорума, посвященного данному продукту, поэтому пишу сюда.

Имеем КриптоПро Рутокен CSP версии 3.9.8366, Windows 8.1.

Приложением удостоверяющего центра был создан запрос на сертификат. УЦ выпустил сертификат. При попытке импорта получаем ошибку: "Закрытый ключ на указанном контейнере не соответствует открытому ключу в сертификате"

На вкладке "Сервис" попытка протестировать контейнер закрытого ключа завершается успешно.

Воспользовавшись программкой dumpasn1, я пока что понимаю, что открытые ключи в запросе и в сертификате совпадают. Стало интересно посмотреть, что за открытый ключ находится внутри контейнера. Раскопал код своей старой утилитки и попробовал добыть ключ следующим образом:

Код:

	if (CryptAcquireContext(&hCryptProv, container.c_str(), provider.name(), provider.type(), 0) == FALSE)
	{
		DWORD error = GetLastError();
		throw Error(L"Failed to acquire context", error);
	}

	if (CryptExportPublicKeyInfo(hCryptProv, AT_SIGNATURE, X509_ASN_ENCODING| PKCS_7_ASN_ENCODING, NULL, &cbPublicKeyInfo) == FALSE)
	{
		DWORD error = GetLastError();
		CryptReleaseContext(hCryptProv, 0);
		throw Error(L"Failed to get encoded public key length", error);
	}


Вызов CryptExportPublicKeyInfo() завершается ошибкой, GetLastError() возвращает 0x8009000d - Ключ не существует.

Вопрос: что же случилось с контейнером и как добыть его открытый ключ? Ведь тестирование он проходит и там есть пункт, что экспорт успешен.

Отредактировано пользователем 19 апреля 2017 г. 14:27:02(UTC)  | Причина: Не указана

Offline neigel  
#2 Оставлено : 19 апреля 2017 г. 15:39:22(UTC)
neigel

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

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

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Интересное дело. Попробовал импортировать сертификат на Windows 8 с КриптоПро Рутокен CSP 3.6 и всё успешно импортировалось. И даже теперь этот ключ работает в Windows 8.1.

Но всё-таки в проблеме хотелось бы разобраться, т.к. есть большое желание обновить Windows на машине с восьмеркой, но, как видно, опасно это делать!

Upd: обновил до 3.9.8445 - проблема осталась.

Отредактировано пользователем 19 апреля 2017 г. 15:49:38(UTC)  | Причина: Не указана

Offline Агафьин Сергей  
#3 Оставлено : 20 апреля 2017 г. 17:43:01(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: neigel Перейти к цитате
Интересное дело. Попробовал импортировать сертификат на Windows 8 с КриптоПро Рутокен CSP 3.6 и всё успешно импортировалось. И даже теперь этот ключ работает в Windows 8.1.

Но всё-таки в проблеме хотелось бы разобраться, т.к. есть большое желание обновить Windows на машине с восьмеркой, но, как видно, опасно это делать!

Upd: обновил до 3.9.8445 - проблема осталась.


Добрый день.
А если попробовать установить сертификат в контейнер через "Панель управления - КриптоПро Рутокен CSP - Сервис - Установить личный сертификат"?
Вернет ошибку?
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline neigel  
#4 Оставлено : 20 апреля 2017 г. 21:22:52(UTC)
neigel

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

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

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Автор: Grey Перейти к цитате

А если попробовать установить сертификат в контейнер через "Панель управления - КриптоПро Рутокен CSP - Сервис - Установить личный сертификат"?
Вернет ошибку?


Так я так и делал. Ошибка была.

Мне всё таки кажется, что проблема с кодом в стартовом посте связана с проблемой импорта, потому что этот же код работает на Windows 8 на версии 3.6, так же как и сертификат успешно импортируется на восьмерке, но не импортируется на 8.1.

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