Статус: Участник
Группы: Участники
Зарегистрирован: 22.01.2014(UTC) Сообщений: 16  Откуда: Сургут Сказал(а) «Спасибо»: 1 раз
|
Крипто АРМ легко вытаскивает содержимое документа из присоединённой подписи, даже если подпись невалидна по каким-либо причинам.
Тоже самое через Crypto API сделать не получается. Пожалуйста, подскажите, куда копать?
П.С. Крипто Про вер. CSP 3.6
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: aleksey.gallyamov  Крипто АРМ легко вытаскивает содержимое документа из присоединённой подписи, даже если подпись невалидна по каким-либо причинам.
Тоже самое через Crypto API сделать не получается. Пожалуйста, подскажите, куда копать?
П.С. Крипто Про вер. CSP 3.6 КриптоАРМ использует CryptoAPI. P.s. Где код, в котором "не получается"? |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.01.2014(UTC) Сообщений: 16  Откуда: Сургут Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  КриптоАРМ использует CryptoAPI.
P.s. Где код, в котором "не получается"?
Код:
// получить объём данных и проверить только формат подписи
var verificationResult = Win32.CryptVerifyMessageSignature(ref verifyParams, 100, messageArray, messageSizeArray, null, ref cbDecodedMessageBlob, IntPtr.Zero);
if (verificationResult == false)
{
ThrowError(error); // check (uint)Marshal.GetLastWin32Error(); and throw if errors
}
var pbDecodedMessageBlob = new Byte[cbDecodedMessageBlob];
// получить данные
verificationResult = Win32.CryptVerifyMessageSignature(ref verifyParams, 0, messageArray, messageSizeArray, pbDecodedMessageBlob, ref cbDecodedMessageBlob, IntPtr.Zero);
if (verificationResult == false)
{
ThrowError(error); // check (uint)Marshal.GetLastWin32Error(); and throw if errors
}
// нужен вот этот документ, без проверки подписи:
var document = pbDecodedMessageBlob;
CryptVerifyMessageSignature -- это 1:1 обёртка Crypto API. Если подпись валидна, то всё ок. Иначе не получить документ.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
А поточные функции обработки использовать можно? |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.01.2014(UTC) Сообщений: 16  Откуда: Сургут Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  А поточные функции обработки использовать можно? Если получится достичь результат, то можно :)
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: aleksey.gallyamov  Автор: Андрей *  А поточные функции обработки использовать можно? Если получится достичь результат, то можно :) CryptMsgOpenToDecode CryptMsgUpdate |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.01.2014(UTC) Сообщений: 16  Откуда: Сургут Сказал(а) «Спасибо»: 1 раз
|
Спасибо большое! Буду пробовать :)
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 945  Откуда: Крипто-Про Поблагодарили: 117 раз в 106 постах
|
А потом CryptMsgGetParam(CMSG_CONTENT_PARAM)
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close