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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Leshiy  
#1 Оставлено : 4 декабря 2008 г. 12:12:41(UTC)
Leshiy

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

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

Здравствуйте!

Возникла проблема при подписи файла. При вызове CryptMsgCalculateEncodedLength выдается ошибка NTE_NO_KEY "Ключ не существует". Вот что делаю: с помощью CryptAcquireCertificatePrivateKey связываюсь с закрытым ключом, потом в структуру CMSG_SIGNER_ENCODE_INFO передаю полученный контекст криптопровайдера и тип закрытого ключа dwKeySpec. При этом при вычислении длины подписанного сообщения вылетает эта ошибка. Понимаю, что дело в контейнере нет требуемого ключа, который я передаю в dwKeySpec. Он у меня возвращается AT_SIGNATURE, но если пренудительно указать AT_KEYEXCHANGE, то все нормально.
Почему тогда CryptAcquireCertificatePrivateKey возвращает заведомо тот тип ключа, которого нет в контейнере? И как тогда указывать тип ключа, чтобы работало всегда корректно? Пытаться получить сначала один тип ключа, если не получил, то другой? Или всегда писать AT_KEYEXCHANGE?

Заранее благодарен за ответы.
Offline Илья Муромец  
#2 Оставлено : 22 апреля 2010 г. 12:43:35(UTC)
Илья Муромец

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

Группы: Участники
Зарегистрирован: 25.12.2008(UTC)
Сообщений: 25
Откуда: Че

вопрос, кстати, актуальный до сих пор
Offline Максим Коллегин  
#3 Оставлено : 22 апреля 2010 г. 15:37:35(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
C каким ключом сертификат был установлен, такой keyspec и вернет CryptAcquireCertificatePrivateKey. В чем вопрос?
Знания в базе знаний, поддержка в техподдержке
Offline Илья Муромец  
#4 Оставлено : 26 апреля 2010 г. 12:09:41(UTC)
Илья Муромец

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

Группы: Участники
Зарегистрирован: 25.12.2008(UTC)
Сообщений: 25
Откуда: Че

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