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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Leshiy  
#1 Оставлено : 17 августа 2009 г. 18:05:37(UTC)
Leshiy

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

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

Добрый день!
С помощью функции CryptAcquireCertificatePrivateKey получаю контекст криптопровайдера по сертификату, связанному с закрытым ключом. Далее надо проставить подпись под данными (с помощью функций CryptMsg...). В CMSG_SIGNER_ENCODE_INFO::dwKeySpec передаю тип ключа, полученный из функции CryptAcquireCertificatePrivateKey (вернулось AT_KEYEXCHANGE). Но потом вылетает ошибка "Ключ не существует". Если же туда передать значение AT_SIGNATURE, то вернется ошибка "Плохой ключ". Если же подпись сделать с помощью CryptSignMessage, то все отработает. И мои функции после этого будут нормально работать.
Подскажите, пожалуйста, каким образом эта функция создает этот самый ключ? Пробовал с помощью функции CryptGenKey - возвращается ошибка про плохой ключ.
Заранее благодарен
Offline Kirill Sobolev  
#2 Оставлено : 17 августа 2009 г. 19:51:31(UTC)
Кирилл Соболев

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

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

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