08.06.2007 15:37:14Ошибка 1722 (сервер RPC недоступен) Ответов: 6
mkopachev
Здраствуйте.
Не будет ли любезен многоуважаемый джин объяснить, почему при переходе к третьей версии КриптоПро CSP у нас отвалилось шифрование?
Ошибка 1722 проявляется в момент шифрования с использованием сессионного ключа (вызов CryptEncrypt()). На двойке такого не наблюдается, и все работает.
Версия операционки: 2003-сервер.
Используется криптопровайдер ГОСТ 34.10-2001 (тип 75).
Схема обмена ключами: ключ на сервере - эфемерный ключ на клиенте. Ошибка происходит на сервере, то есть клиент к этому моменту успешно зашифровал пакет.

С уважением Михаил Копачев
 
Ответы:
08.06.2007 16:41:45Василий
А на клиенте сейчас CSP 2.0 ?
Если да, то совместимость по сессионным ключам никто не обещал...
08.06.2007 16:58:22mkopachev
Что значит не обащал??? ГОСТ 28147-89 уже отменили? Сессионный ключ должен соответсвовать этому стандарту.
И потом, если ключ не подходит, то для этого есть соответсвующий код ошибки. При чем тут сервер RPC? Как прикажете нам догадываться что означает эта ошибка. Нам ведь ее клиенты присылают. Глюка в чистом виде.
Когда конкретно проявляется эта ошибка? И как ее лечить? Пожалуйста четко и конкретно.

С уваджениме Михаил Копачев
08.06.2007 18:13:38Василий
Извиняюсь за предыдущий неподробный ответ.
Скорее всего, Вы работаете на низком уровне (CryptEncrypt и т.п.) с самостоятельной обработкой процесса создания, передачи и обработки блоба сессионного ключа (SIMPLEBLOB).
Т.е. примерно так:
на клиенте - создание ключа парной связи из эфемерного закрытого и открытого ключа сервера, генерация случайного сессионного ключа, зашифрование данных, зашифрование сессионного ключа на ключе парной связи, передача всего зашифрованного на сервер, там создание своего ключа парной связи, расшифрование блоба сессионного ключа и расшифрование данных.

Если так - можете читать дальше. Если нет - просьба уточнить.


Форматы блобов сессионных ключей отличаются в разных версиях CSP. Кроме собственно ключа, есть, например, ещё версия блоба. Это я и имел в виду.
ГОСТ никакого отношения к формату блоба не имеет.
Если бы Вы работали с использование более высокоуровневых функций (CMS) - то такой проблемы бы не возникло.
Если есть необходимость работать с SIMPLEBLOB-ами - то нужно предусмотреть процедуру конвертирования блоба для использования на имеющейся на машине версии CSP.
09.06.2007 9:46:55mkopachev
Все правильно, мы работаем на низком уровне. Использование высокоуровневых функций не ложится в нашу архитектуру сервера.
Что вы подразумеваеете под конверсией блоба? И как это осуществляется в практическом плане? Об этом как можно более подробно. Если есть пример, то вышлите мне на почту.

З.Ы. Если Вы поменяли форматы блобов, то не следовало ли бы поменять и тип провайдера, чтобы обеспечить обратную совместимость? О чем-то таком нам говорит технология проектирования ПО :)

С уважением Михаил Копачев
09.06.2007 11:30:29Максим Семёнов
На всякий случай добавлю, что ключи серверной части (той, где 3я версия стоит), создавались на CSP 2й версии... Если это может как-то повлиять на систему...
09.06.2007 12:37:27Василий
Для начала неплохо бы убедиться, что CSP 3.0 на сервере правильно установлен и работоспособен. Это можно сделать с помощью программы csptest, которая входит в состав дистрибутива.
Для ускорения процесса Вы можете позвонить мне по телефону (495) 933-1168, имея под рукой этот сервер?