Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.0
»
КриптоПро CSP 3.0 KC2 Сервер RPC недоступен
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.10.2008(UTC) Сообщений: 6 Откуда: Москва
|
В KC2 не шифруются данные с указанной ошибкой. Генерим сессионный ключ: CryptGenKey затем шифруем данные: CryptEncrypt получаем ошибку "Сервер RPC недоступен". В KC1 все работает. Windows XP SP3 Что делать ? С уважением, Михаил Краснов |
С уважением, Михаил Краснов |
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Скорее всего по какой-то причине была остановлена служба хранения и использования ключей Крипто Про CSP. Посмотрите "панель управления - администрирование - службы" каково её состояние, если остановлена -- запустите и попробуйте повторить попытку.
Если ошибка будет возобновляться, сообщите пожалуйста дополнительную инфомацию: -начинаются ли проблемы сразу после загрузки ОС или сначала всё работает, потом перестает? -нет ли в журнале "система"(панель управления - администрирование - просмотр событий) сообщений, которые могут иметь отношение к падению службы? -какие вы используете средства для борьбы с вредоносным по? |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.10.2008(UTC) Сообщений: 6 Откуда: Москва
|
Я поисследовал вопрос. Как известно, функция CryptEncrypt должна вызываться два раза. В первый раз - для определения размера выходного буфера.
DWORD dwDataLen = 5; CryptEncrypt(hKey, NULL, TRUE, 0, NULL, &dwDataLen, 0);
Требуемый размер буфера больше или равен размера исходных данных. В КриптоПро размер буфера равен размеру данных, а вот, например в MS CSP для 3DES он больше на 8 байтов. Затем аллокируется буфер нужного размера, в начало буфера копируются исходные данные и делается второй вызов.
LPBYTE pBuf = new BYTE[dwDataLen]; memmove(pBuf, "12345", 5); CryptEncrypt(hKey, NULL, TRUE, 0, pBuf, &dwDataLen, dwDataLen);
Ну так вот. Ошибка происходим на первом вызове. Если первый вызов не делать, а сразу сделать второй вызов, то все отрабатывает без проблем. Но ведь это как-то неправильно. Могу выслать текст тестовой программки (70 строк на С++)
Так что дело не в службе хранения и использования ключей - она, естественно, запущена и работает.
На KC1 все работает без проблем. С уважением, Михаил Краснов. |
С уважением, Михаил Краснов |
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Есть особенность сервиса CSP 3.0 - (Encrypt и Decrypt не могут принимать NULL в качестве pbData) - могу порекомендовать выделять буфер с запасом (8 байт должно хватить во всех случаях). |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.10.2008(UTC) Сообщений: 6 Откуда: Москва
|
Я в общем так и сделал (правда запас сделал на всякий случай 100 байтов, мы ведь не только КриптоПро пользуемся). Вопрос еще такой - а кикие еще функции так себя ведут (не принимают NULL для определения размера) ? CryptSignHash например, принимает это (NULL) без проблем.
С уважением, Михаил Краснов |
С уважением, Михаил Краснов |
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Только эти две. В новых билдах 3.6 будет исправлено. |
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.0
»
КриптоПро CSP 3.0 KC2 Сервер RPC недоступен
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close