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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Илья Муромец  
#1 Оставлено : 26 мая 2010 г. 11:36:09(UTC)
Илья Муромец

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

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

я вот понять не могу, каким алгоритмом шифруется-таки.

контекст крипто-провайдер я извлекаю таким образом
Код:
CryptAcquireContext(
				&hCryptProv,        // Address for handle to be returned.
				NULL,               // Use the current user's logon name.
				NULL,               // Use the default provider.
				PROV_RSA_FULL,
				//PROV_GOST_2001_DH, //по идее надо использовать ГОСТовскй алгоритм
				NULL)


а параметры шифрации задаю таким:
Код:
    CRYPT_ALGORITHM_IDENTIFIER EncryptAlgorithm;
    memset(&EncryptAlgorithm, 0, sizeof(CRYPT_ALGORITHM_IDENTIFIER));
    EncryptAlgorithm.pszObjId = szOID_CP_GOST_28147;  


сертификат, который используется для шифрации находится в Крипт-Про CSP.

получается, что криптопровайдер берётся стандартный виндовый RSA_FULL, сертификат из криптопрошного, а шифруется алгоритмом по госту? О_о
Offline Kure  
#2 Оставлено : 26 мая 2010 г. 12:06:19(UTC)
Kure

Статус: Администратор

Группы: Администраторы, Участники
Зарегистрирован: 13.12.2007(UTC)
Сообщений: 111
Откуда: Крипто-Про

Поблагодарили: 33 раз в 10 постах
А какое собственно отношение приведенные фрагменты имеют к шифрованию? Где оно?
Offline Илья Муромец  
#3 Оставлено : 26 мая 2010 г. 13:06:25(UTC)
Илья Муромец

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

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

ну вот примерно так:

Код:
   CRYPT_ALGORITHM_IDENTIFIER EncryptAlgorithm;
   memset(&EncryptAlgorithm, 0, sizeof(CRYPT_ALGORITHM_IDENTIFIER));
   EncryptAlgorithm.pszObjId = szOID_CP_GOST_28147;  

  CRYPT_ENCRYPT_MESSAGE_PARA  EncryptParams;
  ZeroMemory(&EncryptParams, sizeof(EncryptParams));
  EncryptParams.cbSize = sizeof(EncryptParams);
  EncryptParams.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
  EncryptParams.hCryptProv = hCryptProv;
  EncryptParams.ContentEncryptionAlgorithm = EncryptAlgorithm;
  if(CryptEncryptMessage(
    &EncryptParams,              
	1,
	&pSignerCert,
	data,
	lendata,
	NULL,
	encrLen
    ))   // размер буфера

Отредактировано пользователем 26 мая 2010 г. 13:07:06(UTC)  | Причина: Не указана

Offline Илья Муромец  
#4 Оставлено : 28 мая 2010 г. 17:11:16(UTC)
Илья Муромец

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

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

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