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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vyacheslavss  
#1 Оставлено : 14 марта 2024 г. 15:25:03(UTC)
vyacheslavss

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

Группы: Участники
Зарегистрирован: 09.11.2015(UTC)
Сообщений: 1
Российская Федерация

Сразу скажу, что при StrengthenedKeyUsageControl=0 никаких проблем не возникает. Точно так же не возникает проблем, если при проверке ЦП публичный ключ расположен в имеющемся контейнере.

Но, если публичный ключ импортируется из, например, сертификата вызов CryptVerifySignature завершается ошибкой NTE_BAD_PUBLIC_KEY

Все это безобразие происходит на Linux, Крипто ПРО версии 5.

последовательность вызова такая:

CryptAcquireContext(...VERIFYCONTEXT);
CryptImportKey
CryptCreateHash
CryptHashData
CryptVerifySignature


В качестве предположения, что ключ не может пройти усиленную проверку (кстати, зачем это публичному ключу?), попытался добавить к ключу сертификат:

CryptSetKeyParam(hKey, CERTIFICATE, cert...)
Вызов завершается ошибкой NTE_FAIL

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