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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline story  
#1 Оставлено : 28 ноября 2016 г. 10:05:04(UTC)
story

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

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

Добрый день. Проблема с проверкой подписи. Контекст сертификата для проверки подписи получаю с помощью callback функции


PCCERT_CONTEXT WINAPI MyGetSignerCertificateCallback(
void *pvGetArg, // in
DWORD dwCertEncodingType, // in
PCERT_INFO pSignerId, // in
HCERTSTORE hMsgCertStore // in
)
{
return PCCERT_CONTEXT(pvGetArg);
};


VerifyParams.pfnGetSignerCertificate = MyGetSignerCertificateCallback;
VerifyParams.pvGetArg = (void*)pSignerCert; //уже открытый контекст сертификата

вызов функции
CryptVerifyDetachedMessageSignature(
&VerifyParams,
0,
bSign,
SignSize,
1,
bSourceArray,
SourceSize,
&pretSignerCert)


Если делать проверку подписи, которая не является валидной (pSignerCert) для этого сообщения и при этом в сообщении присутствует сохраненная подпись (корректная для данного сообщения) вместе с ЭЦП, то при проверке подписи получаю испорченный pSignerCert. То есть процедура CryptVerifyDetachedMessageSignature "портит" уже открытый контекст сертификата.
Скрин состояния структуры PCCERT_pSignerCert до операции
1.png (5kb) загружен 12 раз(а).

после отработки операции CryptVerifyDetachedMessageSignature
2.png (5kb) загружен 11 раз(а).

В чем может быть проблема?
Offline story  
#2 Оставлено : 29 ноября 2016 г. 19:30:50(UTC)
story

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

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

Никто не сталкивался с такой ошибкой?

Решил проблему с помощью CertDuplicateCertificateContext.
Из этого следует то что если проверка ЭП не верифицирована (и при этом в ЭЦП прикреплен валидный сертификат) то в функциях CryptVerifyMessageSignature и CryptVerifyDetachedMessageSignature происходит удаление невалидного контекста сертификата.

Отредактировано пользователем 29 ноября 2016 г. 20:36:48(UTC)  | Причина: Не указана

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