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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Dmitriy99  
#1 Оставлено : 5 июля 2013 г. 22:36:45(UTC)
Dmitriy99

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

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

Добрый вечер!
Пытаюсь реализовать обмен ключевой информацией методом RSA. Задача состоит в том, что в качестве сессионного ключа необходимо использовать G28147. Для его получения использую КриптоПро CSP 3.6.5402. В качестве импортированного открытого ключа использую ключ, созданный на криптопровайдере PROV_RSA_FULL (пробовал импортировать ключ с КриптоПро CSP 3.6.5402., но результат тот же...).
Проблема состоит в том, что после импорта открытого ключа не отрабатывает положительно функция CryptExportKey для определения длинны ключевого BLOBа при подаче в нее хэндела сессионного ключа (G28147) и хэндела открытого импортированного ключа RSA.

В блок вывода ошибок выводится ошибка -2146893821. На что она указывает, ни в одной из документаций я не нашел. При этом, если в этом же коде изменить криптопровайдер КриптоПро и режим шифрования на любой другой из встроенных в Windows (например PROV_RSA_AES и режим CALG_AES_256), то функция отработает и шифрование пройдет успешно.

В чем проблема я не знаю. Есть версия, что они возможно не совместимы, но подтвердить ее изучением документации не удалось.
Буду благодарен за помощь!

Код реализован на языке программирования С++, в среде разработки Embacradero RAD Studio 2010

Отредактировано пользователем 5 июля 2013 г. 22:49:51(UTC)  | Причина: Не указана

Вложение(я):
Unit1.cpp.txt (22kb) загружен 6 раз(а).
Unit1.h.txt (4kb) загружен 3 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Андрей Писарев  
#2 Оставлено : 6 июля 2013 г. 7:59:23(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,516
Мужчина
Российская Федерация

Сказал «Спасибо»: 554 раз
Поблагодарили: 2252 раз в 1757 постах
0x80090003 (-2146893821) = Плохой ключ.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 6 июля 2013 г. 8:01:08(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,516
Мужчина
Российская Федерация

Сказал «Спасибо»: 554 раз
Поблагодарили: 2252 раз в 1757 постах
Автор: Dmitriy99 Перейти к цитате

В блок вывода ошибок выводится ошибка -2146893821. На что она указывает, ни в одной из документаций я не нашел. При этом, если в этом же коде изменить криптопровайдер КриптоПро и режим шифрования на любой другой из встроенных в Windows (например PROV_RSA_AES и режим CALG_AES_256), то функция отработает и шифрование пройдет успешно.

В чем проблема я не знаю. Есть версия, что они возможно не совместимы, но подтвердить ее изучением документации не удалось.
Буду благодарен за помощь!


И не должны быть совместимы.

Цитата:
Error Codes list for Microsoft technologies
-2146893821, 0x80090003, Bad Key.

Отредактировано пользователем 6 июля 2013 г. 8:38:56(UTC)  | Причина: link

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