Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
CryptDecryptMessage - проблемы второго вызова
Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2008(UTC) Сообщений: 22 Откуда: Санкт-Петербург
|
Kirill Sobolev написал:да, вот что такое PCRYPT_DECRYPT_MESSAGE_PARA? Смотрим по аналогии в SDK для Криптопро Цитата:// Объявление и инициализация локальных переменных. DWORD cbDecryptedMessage; char* EncryptedString = new char[(cbEncryptedBlob * 2) +1]; HCERTSTORE CertStoreArray[] = {hStoreHandle}; CRYPT_DECRYPT_MESSAGE_PARA DecryptParams; DWORD DecryptParamsSize = sizeof(DecryptParams); BYTE* pbDecryptedMessage; LPSTR DecryptedString; BOOL fReturn = TRUE;
Теперь описание модуля-хедера для паскаля Цитата://+------------------------------------------------------------------------- // The CRYPT_DECRYPT_MESSAGE_PARA are used for decrypting messages. // // The CertContext to use for decrypting a message is obtained from one // of the specified cert stores. An encrypted message can have one or // more recipients. The recipients are identified by their CertId (Issuer // and SerialNumber). The cert stores are searched to find the CertContext // corresponding to the CertId. // // Only CertContexts in the store with either // the CERT_KEY_PROV_HANDLE_PROP_ID or CERT_KEY_PROV_INFO_PROP_ID set // can be used. Either property specifies the private exchange key to use. // // cbSize must be set to the sizeof(CRYPT_DECRYPT_MESSAGE_PARA) or else // LastError will be updated with E_INVALIDARG. //-------------------------------------------------------------------------- type PCRYPT_DECRYPT_MESSAGE_PARA = ^CRYPT_DECRYPT_MESSAGE_PARA; CRYPT_DECRYPT_MESSAGE_PARA = record cbSize :DWORD; dwMsgAndCertEncodingType :DWORD; cCertStore :DWORD; rghCertStore :PHCERTSTORE; end;
вроде все соответствует
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Да, соответствует. но у Вас объявлено Цитата:rghCertStore :PHCERTSTORE что верно, т.к. теоретически хранилищ для поиска может быть несколько. а в коде Цитата:rghCertStore := hSystemStore причем Цитата:hSystemStore: HCERTSTORE соответственно функция лезет искать сертификат для расшифровки по адресу, который на самом деле является хендлом хранилища и на этом падает. должно быть Цитата:rghCertStore := @hSystemStore |
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
CryptDecryptMessage - проблемы второго вызова
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close