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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline kmm  
#1 Оставлено : 27 октября 2008 г. 19:38:58(UTC)
kmm

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

Группы: Участники
Зарегистрирован: 27.10.2008(UTC)
Сообщений: 6
Мужчина
Откуда: Москва

В KC2 не шифруются данные с указанной ошибкой.
Генерим сессионный ключ: CryptGenKey
затем шифруем данные: CryptEncrypt
получаем ошибку "Сервер RPC недоступен".
В KC1 все работает.
Windows XP SP3
Что делать ?
С уважением, Михаил Краснов
С уважением, Михаил Краснов
Offline Татьяна  
#2 Оставлено : 27 октября 2008 г. 19:49:48(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Скорее всего по какой-то причине была остановлена служба хранения и использования ключей Крипто Про CSP.
Посмотрите "панель управления - администрирование - службы" каково её состояние, если остановлена -- запустите и попробуйте повторить попытку.

Если ошибка будет возобновляться, сообщите пожалуйста дополнительную инфомацию:
-начинаются ли проблемы сразу после загрузки ОС или сначала всё работает, потом перестает?
-нет ли в журнале "система"(панель управления - администрирование - просмотр событий) сообщений, которые могут иметь отношение к падению службы?
-какие вы используете средства для борьбы с вредоносным по?
Татьяна
ООО Крипто-Про
Offline kmm  
#3 Оставлено : 28 октября 2008 г. 14:59:38(UTC)
kmm

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

Группы: Участники
Зарегистрирован: 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 все работает без проблем.
С уважением, Михаил Краснов.
С уважением, Михаил Краснов
Offline Максим Коллегин  
#4 Оставлено : 28 октября 2008 г. 17:18:28(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Есть особенность сервиса CSP 3.0 - (Encrypt и Decrypt не могут принимать NULL в качестве pbData) - могу порекомендовать выделять буфер с запасом (8 байт должно хватить во всех случаях).
Знания в базе знаний, поддержка в техподдержке
Offline kmm  
#5 Оставлено : 28 октября 2008 г. 17:59:13(UTC)
kmm

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

Группы: Участники
Зарегистрирован: 27.10.2008(UTC)
Сообщений: 6
Мужчина
Откуда: Москва

Я в общем так и сделал (правда запас сделал на всякий случай 100 байтов, мы ведь не только КриптоПро пользуемся).
Вопрос еще такой - а кикие еще функции так себя ведут (не принимают NULL для определения размера) ?
CryptSignHash например, принимает это (NULL) без проблем.

С уважением, Михаил Краснов
С уважением, Михаил Краснов
Offline Максим Коллегин  
#6 Оставлено : 28 октября 2008 г. 18:02:20(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Только эти две. В новых билдах 3.6 будет исправлено.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.