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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline modernx  
#1 Оставлено : 4 марта 2010 г. 21:37:59(UTC)
modernx

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

Группы: Участники
Зарегистрирован: 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 схему Д-Х не поддержиавют?

Спасибо!
Offline Максим Коллегин  
#2 Оставлено : 4 марта 2010 г. 22:36:28(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 739 раз в 636 постах
1.не произойдет
2.да
вообще кодировать вручную asn1 - не очень простая задача. Гораздо проще воспользоваться поточными режимами low-level функций.
Знания в базе знаний, поддержка в центре поддержки
Offline modernx  
#3 Оставлено : 4 марта 2010 г. 23:12:23(UTC)
modernx

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

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

maxdm написал:
1.не произойдет


т.е. это как бы временные ключи, которые не сохраняются в контейнере? или как понимать? нигде описания не могу найти толкового.

maxdm написал:
2.да
вообще кодировать вручную asn1 - не очень простая задача. Гораздо проще воспользоваться поточными режимами low-level функций.


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