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

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Писарев  
#11 Оставлено : 17 сентября 2012 г. 22:00:51(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
сколько тем связанных с криптографией, столько и "проблем", везде итог: не использовать header WinCrypt2, об этом известно?


http://msdn.microsoft.co...p/aa379925(v=vs.85).aspx
rgpRecipientCert [in]
Array of pointers to CERT_CONTEXT structures that contain the certificates of intended recipients of the message.



Цитата:

тот самый "array of PCCERT_CONTEXT" для архитектуры Delphi не подходит.

d'oh! и причем здесь архитектура? ...

Отредактировано пользователем 17 сентября 2012 г. 22:04:02(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline VitalyMM  
#12 Оставлено : 17 сентября 2012 г. 22:07:29(UTC)
VitalyMM

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

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

Все остальное работает. И это тоже все работает, но в Delphi BDS2006.. А что тогда использовать в Delphi из RAD Studio XE2 вместо WinCrypt2?
Offline Андрей Писарев  
#13 Оставлено : 17 сентября 2012 г. 22:09:29(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
VitalyMM написал:
Все остальное работает. И это тоже все работает, но в Delphi BDS2006.. А что тогда использовать в Delphi из RAD Studio XE2 вместо WinCrypt2?

Цитата:

Я перепробовал несколько вариантов с динамическим массивом - результат тот же - (AV).


может не так пробовал?


Отредактировано пользователем 17 сентября 2012 г. 22:19:47(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline VitalyMM  
#14 Оставлено : 17 сентября 2012 г. 22:28:04(UTC)
VitalyMM

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

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

Я думал, что тут форум для получения технических советов от специалистов в этой области... В том, что я пробовал "не так" я уже сам догадался. И написал тут, чтобы подсказали "как". Или я не туда попал?Think
Offline Андрей Писарев  
#15 Оставлено : 17 сентября 2012 г. 22:41:53(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
VitalyMM написал:
Я думал, что тут форум для получения технических советов от специалистов в этой области... В том, что я пробовал "не так" я уже сам догадался. И написал тут, чтобы подсказали "как". Или я не туда попал?Think


Оно так есть... область криптографии... а не реализации заголовочных файлов (WinCrypt2) в разных средах разработки...
ОС Windows, так?
Идем на MSDN и сверяемся с тем,что имеем (WinCrypt2)... нашли ошибку? нашли...

на форуме - оказывается поддержка с низким приоритетом... с этого года...

Ссылка на MSDN не помогла?
Править wincrypt2, писать примеры кода?

Цитата:

Все остальное работает. И это тоже все работает, но в Delphi BDS2006.. А что тогда использовать в Delphi из RAD Studio XE2 вместо WinCrypt2?


P.s. сам ушел с высокоуровневых функций и не парюсь...

Отредактировано пользователем 17 сентября 2012 г. 22:48:30(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline VitalyMM  
#16 Оставлено : 17 сентября 2012 г. 22:49:32(UTC)
VitalyMM

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

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

О существовании MSDN мне было известно.

Цитата:
P.s. сам ушел с высокоуровневых функций и не парюсь...


Спасибо.. Я тоже пойду.
Offline Андрей Писарев  
#17 Оставлено : 17 сентября 2012 г. 22:51:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
полезным в этом плане будет еще и поиск по старому форуму ...
достаточно случаев про WinCrypt2
Техническую поддержку оказываем тут
Наша база знаний
Offline VitalyMM  
#18 Оставлено : 18 сентября 2012 г. 2:30:36(UTC)
VitalyMM

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

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

А что я могу найти в старом форуме про RAD Studio XE2.. Его тогда еще не было..
Offline MCR  
#19 Оставлено : 18 сентября 2012 г. 12:21:09(UTC)
MCR

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

Группы: Участники
Зарегистрирован: 06.03.2012(UTC)
Сообщений: 177

Сказал(а) «Спасибо»: 57 раз
Поблагодарили: 11 раз в 8 постах
VitalyMM написал:
А что я могу найти в старом форуме про RAD Studio XE2.. Его тогда еще не было..

Wincrypt.h - вот оригинал с которым нужно сверяться.
Остальное от лукавого.

BOOL WINAPI CryptEncryptMessage(
_In_ PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
_In_ DWORD cRecipientCert,
_In_ PCCERT_CONTEXT rgpRecipientCert[],
_In_ const BYTE *pbToBeEncrypted,
_In_ DWORD cbToBeEncrypted,
_Out_ BYTE *pbEncryptedBlob,
_Inout_ DWORD *pcbEncryptedBlob
);

function CryptEncryptMessage(pEncryptPara :PCRYPT_ENCRYPT_MESSAGE_PARA;
cRecipientCert :DWORD;
rgpRecipientCert :PCCERT_CONTEXT; //array of PCCERT_CONTEXT;
const pbToBeEncrypted :PBYTE;
cbToBeEncrypted :DWORD;
pbEncryptedBlob :PBYTE;
pcbEncryptedBlob :PDWORD):BOOL ; stdcall;

И правите дальше. Там много еще сюрпризов


Отредактировано пользователем 18 сентября 2012 г. 12:24:33(UTC)  | Причина: Не указана

Offline IvannikovAV  
#20 Оставлено : 18 сентября 2012 г. 12:46:46(UTC)
IvannikovAV

Статус: Новичок

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

Коллеги! А по теме 200-300-400 сертификатов в массиве есть мысли? Повторю, CryptEncryptMessage с массивом на входе до 200 сертификатов работает стабильно, при 400 первый вызов функции возвращает нулевую длину буфера. Используется Delphi 7 и прототип функции

function CryptEncryptMessage(pEncryptPara :PCRYPT_ENCRYPT_MESSAGE_PARA;
cRecipientCert :DWORD;
rgpRecipientCert : PCCERT_CONTEXT;
const pbToBeEncrypted :PBYTE;
cbToBeEncrypted :DWORD;
pbEncryptedBlob :PBYTE;
pcbEncryptedBlob :PDWORD):BOOL ; stdcall;

Как заполняется массив - написано в первом сообщении топика. Если это есть ограничение высокоуровневой функции и надо переходить на low level, то буду переписывать...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.