Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,162   Сказал «Спасибо»: 618 раз Поблагодарили: 2389 раз в 1880 постах
|
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,447  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 743 раз в 638 постах
|
Так (2 байта) показывает студия - смотрите в окно Memory. И да, в примерах всё есть.
|
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.11.2016(UTC) Сообщений: 15  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Добрый день! Тоже вопрос по поводу передачи сессионного ключа.
1. На машинах создаётся ключ обмена. 2. На одной машине создаётся сессионный ключ. Алгоритм следующий (проверки, логирование и пр. не пишу, но они есть). 2.1. Создаём ключ через CryptGenKey с флагом CRYPT_EXPORTABLE. 2.2. Экспортируем его через CryptExportKey, используя ключ обмена, с флагом SIMPLEBLOB (вызываем дважды - узнать размер и получить блоб). 2.3. Подписываем его своим сертификатом через CryptSignMessage. 2.4. Старый ключ, если он был, уничтожаем через CryptDestroyKey. 3. Полученный пакет пересылаем на другую машину. 4. На второй машине принимаем сессионный ключ. 4.1. Проверяем подпись через CryptVerifyMessageSignature. 4.2. Если на принимавшей стороне существовал сессионный ключ, уничтожаем его через CryptDestroyKey. 4.3. Импортируем новый ключ через CryptImportKey, используя ключ обмена.
Наблюдается странность. Допустим, у нас машины А и Б. Если машина А создала сессионный ключ и передала его машине Б, всё проходит нормально. Но если потом машина Б создала сессионный ключ и передала его машине А, на машине А при вызове CryptImportKey возвращается NTE_BAD_DATA. К сожалению, процесс обмена ключами невозможно сделать односторонним (протокол обмена, который мы не можем изменить, подразумевает, что передача данных односторонняя, но в определённый момент меняющая направление). Если машины А и Б поменять местами, остаётся ситуация, что та машина, которая первой принимала ключ, принимает его нормально, а когда при смене направления передачи данных передаётся новый ключ, он при попытке импортировать даёт bad data. Отказаться от перегенерации ключей мы также не можем ввиду ограничения нагрузки на сессионный ключ.
Где может быть проблема? Спасибо!
p.S. Сертификаты действующие на обеих машинах.
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close