Статус: Новичок
Группы: Участники
Зарегистрирован: 04.03.2010(UTC) Сообщений: 2
|
Добрый день! В моей программе, использующей сертификаты, есть возможность выбора криптопровайдера - это CryptoPro или MS Enhanced CSP 1.0/ E-Token Base CSP. Шифрование и ЭЦП на сертификатах я осуществляю на основе Simplified Message Functions и Low-level Message Functions (для больших объемов данных). Но с возрастанием объема шифруемых данных возникла задача немного оптимизировать этот механизм. В частности, я решил шифрование выполнять низкоуровневыми функциями типа CryptEncrypt и т.п. Для этого необходимо создавать сессионные ключи. Я почитал форум, посмотрел Ваши примеры Д-Х. Вот здесь у меня начали появляться вопросы:
1) Каким образом в криптоконтейнерах хранятся ключи? Я, при создании запроса на сертификат, создаю контейнер с определенным именем и в нем пару ключей AT_EXCHANGE, которая как я понимаю используется в дальнейшем при работе с этим сертификатом. Допустим, я получаю доступ к криптопровайдеру, используя известное мне имя контейнера. Далее, для "генерации сессионного ключа" я должен получить открытый ключ получателя из сертификата, импортировав его в этот провайдер (и контейнер) функцией CryptImportPublicKeyInfoEx. После этой операции не произойдет ли замещение моего открытого ключа в этом контейнере открытым ключом получателя?
2) Если КриптоПро использует схему Д-Х, то для реализации подобного обмена для других провайдеров мне придется писать альтернативную функцию, т.к. MS Enhanced / eToken Base CSP схему Д-Х не поддержиавют?
Спасибо!
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,438  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 739 раз в 636 постах
|
1.не произойдет 2.да вообще кодировать вручную asn1 - не очень простая задача. Гораздо проще воспользоваться поточными режимами low-level функций. |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.03.2010(UTC) Сообщений: 2
|
maxdm написал:1.не произойдет т.е. это как бы временные ключи, которые не сохраняются в контейнере? или как понимать? нигде описания не могу найти толкового. maxdm написал:2.да вообще кодировать вручную asn1 - не очень простая задача. Гораздо проще воспользоваться поточными режимами low-level функций. я поточный режим и использовал, как написано в первом сообщении. Но если использовать eToken CSP, то расшифровка большого объема данных занимает очень много времени (например, 10МБ расшифровывает где-то 50 секунд), токенчик мигает при этом очень активно.
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close