Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2012(UTC) Сообщений: 14 Откуда: Москва
|
В результате выполнения следующего кода на системах Ubuntu 11.04 и Suse Enterprise server 9: Код:
HCERTSTORE store = CertOpenSystemStore(0,"MY" );
CryptAcquireContext(&provider,NULL,NULL,PROV_GOST_2001_DH, CRYPT_VERIFYCONTEXT );
CRYPT_ALGORITHM_IDENTIFIER content_encryption_alg;
memset( &content_encryption_alg, 0, sizeof( CRYPT_ALGORITHM_IDENTIFIER ) );
content_encryption_alg.pszObjId = (char*)OID_CipherVar_Default;
CMSG_ENVELOPED_ENCODE_INFO enveloped_info;
memset( &enveloped_info, 0, sizeof( CMSG_ENVELOPED_ENCODE_INFO ) );
enveloped_info.cbSize = sizeof( CMSG_ENVELOPED_ENCODE_INFO );
enveloped_info.hCryptProv = provider;
enveloped_info.ContentEncryptionAlgorithm = content_encryption_alg;
enveloped_info.pvEncryptionAuxInfo = NULL;
enveloped_info.cRecipients = recipients_size;
enveloped_info.rgpRecipients = recipient_certs;
message = CryptMsgOpenToEncode(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0 ,CMSG_ENVELOPED, &enveloped_info, NULL, NULL );
CryptMsgOpenToEncode выдает ошибку CRYPT_E_OID_FORMAT. Причем этот же самый код на тех же входных данных работает успешно на windowsXP. В чем может быть проблема?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 723 раз в 626 постах
|
А что такое OID_CipherVar_Default, точнее зачем? По смыслу в этом месте должен быть алгоритм шифрования. А на Windows многие некорректные параметры "исправляются" на ходу. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2012(UTC) Сообщений: 14 Откуда: Москва
|
maxdm написал:А что такое OID_CipherVar_Default, точнее зачем? По смыслу в этом месте должен быть алгоритм шифрования. А на Windows многие некорректные параметры "исправляются" на ходу. OID_CipherVar_Default определен в WinCryptEx.h. Код:
#define OID_CipherVerbaO "1.2.643.2.2.31.1" /* ГОСТ 28147-89, параметры по умолчанию */
#define OID_CipherVar_Default OID_CipherVerbaO
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2012(UTC) Сообщений: 14 Откуда: Москва
|
Если это даст какую-нибудь дополнительную информацию, CryptMsgCalculateEncodedLength выдает ту же ошибку.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,408  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 723 раз в 626 постах
|
Мда. Там должен быть алгоритм шифрования и не оид параметров. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2012(UTC) Сообщений: 14 Откуда: Москва
|
maxdm написал:Мда. Там должен быть алгоритм шифрования и не оид параметров. Да, проблема была в этом. Странно, что в Windows это не проверяется. Спасибо за ответ.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close