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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline topcraze  
#1 Оставлено : 19 октября 2010 г. 18:59:31(UTC)
topcraze

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

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

Ситуация такая: имеется сертификат, которым предполагается формировать PKCS7, используя CryptSignMessage. Для заполнения структуры CRYPT_SIGN_MESSAGE_PARA необходим алгоритм(OID) хэша. Для CryptPro код видится след образом:
1) Извлекаем oid подписи из сертификата
2) По этому оиду получаем algId с помощью CryptFindOIDInfo
3) далее используя I_CryptGetDefaultCryptProv получаем хэндл на криптопровайдер
4) используем CryptGetProvParam и PP_HASH

вопрос: PP_HASH в майкрософте не используется. Как поступить?
Может быть есть какая-то другая возможность выяснить oid хэша, имея сертификат?
Offline Kirill Sobolev  
#2 Оставлено : 20 октября 2010 г. 17:19:16(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Код странный.
В п.1 - в сертификате нет указания на то, по какому алгоритму можно им подписывать.
Лучше сделать так - по секретному ключу (который все равно нужен для подписи) получить хендл провайдера, а потом выбрать подходящие алгоритмы с помощью CryptGetProvParam(.., PP_ENUMALGS, ..)
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.