| ||||
| ||||
Здраствуйте. Не будет ли любезен многоуважаемый джин объяснить, почему при переходе к третьей версии КриптоПро CSP у нас отвалилось шифрование? Ошибка 1722 проявляется в момент шифрования с использованием сессионного ключа (вызов CryptEncrypt()). На двойке такого не наблюдается, и все работает. Версия операционки: 2003-сервер. Используется криптопровайдер ГОСТ 34.10-2001 (тип 75). Схема обмена ключами: ключ на сервере - эфемерный ключ на клиенте. Ошибка происходит на сервере, то есть клиент к этому моменту успешно зашифровал пакет. С уважением Михаил Копачев | ||||
Ответы: | ||||
| ||||
А на клиенте сейчас CSP 2.0 ? Если да, то совместимость по сессионным ключам никто не обещал... | ||||
| ||||
Что значит не обащал??? ГОСТ 28147-89 уже отменили? Сессионный ключ должен соответсвовать этому стандарту. И потом, если ключ не подходит, то для этого есть соответсвующий код ошибки. При чем тут сервер RPC? Как прикажете нам догадываться что означает эта ошибка. Нам ведь ее клиенты присылают. Глюка в чистом виде. Когда конкретно проявляется эта ошибка? И как ее лечить? Пожалуйста четко и конкретно. С уваджениме Михаил Копачев | ||||
| ||||
Извиняюсь за предыдущий неподробный ответ. Скорее всего, Вы работаете на низком уровне (CryptEncrypt и т.п.) с самостоятельной обработкой процесса создания, передачи и обработки блоба сессионного ключа (SIMPLEBLOB). Т.е. примерно так: на клиенте - создание ключа парной связи из эфемерного закрытого и открытого ключа сервера, генерация случайного сессионного ключа, зашифрование данных, зашифрование сессионного ключа на ключе парной связи, передача всего зашифрованного на сервер, там создание своего ключа парной связи, расшифрование блоба сессионного ключа и расшифрование данных. Если так - можете читать дальше. Если нет - просьба уточнить. Форматы блобов сессионных ключей отличаются в разных версиях CSP. Кроме собственно ключа, есть, например, ещё версия блоба. Это я и имел в виду. ГОСТ никакого отношения к формату блоба не имеет. Если бы Вы работали с использование более высокоуровневых функций (CMS) - то такой проблемы бы не возникло. Если есть необходимость работать с SIMPLEBLOB-ами - то нужно предусмотреть процедуру конвертирования блоба для использования на имеющейся на машине версии CSP. | ||||
| ||||
Все правильно, мы работаем на низком уровне. Использование высокоуровневых функций не ложится в нашу архитектуру сервера. Что вы подразумеваеете под конверсией блоба? И как это осуществляется в практическом плане? Об этом как можно более подробно. Если есть пример, то вышлите мне на почту. З.Ы. Если Вы поменяли форматы блобов, то не следовало ли бы поменять и тип провайдера, чтобы обеспечить обратную совместимость? О чем-то таком нам говорит технология проектирования ПО :) С уважением Михаил Копачев | ||||
| ||||
На всякий случай добавлю, что ключи серверной части (той, где 3я версия стоит), создавались на CSP 2й версии... Если это может как-то повлиять на систему... | ||||
| ||||
Для начала неплохо бы убедиться, что CSP 3.0 на сервере правильно установлен и работоспособен. Это можно сделать с помощью программы csptest, которая входит в состав дистрибутива. Для ускорения процесса Вы можете позвонить мне по телефону (495) 933-1168, имея под рукой этот сервер? | ||||