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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Максим Коллегин  
#11 Оставлено : 5 августа 2009 г. 19:04:33(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
А сертификат с ключом связан? Попробуйте использовать другой.
Знания в базе знаний, поддержка в техподдержке
Offline Евгений Пряхин  
#12 Оставлено : 5 августа 2009 г. 19:49:48(UTC)
Евгений Пряхин

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

Группы: Участники
Зарегистрирован: 06.05.2009(UTC)
Сообщений: 28
Откуда: Москва

Да, связан.

UserPostedImage
С другим ключем пробовал - ситуация повторилась в деталях.
Offline Евгений Пряхин  
#13 Оставлено : 5 августа 2009 г. 20:55:16(UTC)
Евгений Пряхин

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

Группы: Участники
Зарегистрирован: 06.05.2009(UTC)
Сообщений: 28
Откуда: Москва

Попробовал на CSP 3.6 КС1 - ошибка та же самая. В инвент логе пусто.

Быть может проблема где-то в коде?

Отредактировано пользователем 5 августа 2009 г. 20:57:47(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#14 Оставлено : 5 августа 2009 г. 21:08:13(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Посмотрите в примерах в SDK к CSP 3.6.
Знания в базе знаний, поддержка в техподдержке
Offline Максим Коллегин  
#15 Оставлено : 5 августа 2009 г. 21:13:24(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
err = getCertificateContext(cspHandle, pCertContext); - pCertContext передается по ссылке?
Знания в базе знаний, поддержка в техподдержке
Offline Евгений Пряхин  
#16 Оставлено : 5 августа 2009 г. 21:16:06(UTC)
Евгений Пряхин

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

Группы: Участники
Зарегистрирован: 06.05.2009(UTC)
Сообщений: 28
Откуда: Москва

Да.

Код:

int getCertificateContext(HCRYPTPROV cspName, PCCERT_CONTEXT &certContext) {
	HCRYPTKEY userKey;
	BYTE* certificateData = 0;
	DWORD certificateDataLength = 0;

	//получим пару ключей
	if (!CryptGetUserKey(cspName, AT_KEYEXCHANGE, &userKey))
		return ERROR_GETTING_KEY_PAIR;
	if (!CryptGetKeyParam(userKey, KP_CERTIFICATE, NULL, &certificateDataLength, 0))
		return ERROR_GETTING_CERTIFICATE_DATA_LENGTH;
	certificateData = (BYTE*)malloc(certificateDataLength);
	if (certificateData == NULL)
		return ERROR_MEMORY_ALLOCATION;
	if(!CryptGetKeyParam(userKey, KP_CERTIFICATE, certificateData, &certificateDataLength, 0))
		return ERROR_GETTING_CERTIFICATE_DATA;
	//создадим сертификат из массива байтов
	certContext = CertCreateCertificateContext(X509_ASN_ENCODING, certificateData, certificateDataLength);
	if (certContext == NULL)
		return ERROR_CREATING_CERTIFICATE_CONTEXT;
	//TODO: осободить память после malloc
	//TODO: освободить память ключа, елси необходимо
	return FUNCTION_SUCCESS;
}
Offline Максим Коллегин  
#17 Оставлено : 5 августа 2009 г. 21:34:26(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
В этом коде сертификат не получит ссылки на ключ - проще выбрать сертификат из хранилища.
Знания в базе знаний, поддержка в техподдержке
Offline Евгений Пряхин  
#18 Оставлено : 5 августа 2009 г. 21:36:56(UTC)
Евгений Пряхин

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

Группы: Участники
Зарегистрирован: 06.05.2009(UTC)
Сообщений: 28
Откуда: Москва

Так, понял.
Каким образом это можно сделеать если ключи и сертификат лежат на eToken"е?
Offline Максим Коллегин  
#19 Оставлено : 5 августа 2009 г. 21:38:54(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Можно установить контексту Property CRYPT_KEY_PROV_INFO
Знания в базе знаний, поддержка в техподдержке
Offline Евгений Пряхин  
#20 Оставлено : 5 августа 2009 г. 21:49:17(UTC)
Евгений Пряхин

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

Группы: Участники
Зарегистрирован: 06.05.2009(UTC)
Сообщений: 28
Откуда: Москва

Это с помощью CryptSetProvParam ?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.