Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

RSA в OpenSSL

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
lunc
Гость





СообщениеДобавлено: Чт Мар 13 2003 19:19    Заголовок сообщения: RSA в OpenSSL Ответить с цитатой

Подскажите, как сохранить ключ (приватный или открытый) в файл, так чтобы его можно было потом извлечь оттуда и как его читать оттуда? В rsa.h насколько я понял, есть только распечатка структуры RSA в файл, но потом ее фиг считаеш. Или хотя бы как выглядит ключ (как совмещаются n , где n= p*q, и d или n и e, конкатенацией?). Проблемма в том, что я генерирую ключ как структуру RSA, а как сохранить и обрабатывать этот ключ я незнаю. Может с evp.h как-то еще можно?
Вернуться к началу
atkachen
Гость





СообщениеДобавлено: Пт Мар 14 2003 06:52    Заголовок сообщения: Re: RSA в OpenSSL Ответить с цитатой

Каждое поле структуры RSA - это данные типа BIGNUM, которое тоже в свою очередь структура с 4-мя интовскими полями и одним указателем на long. Там есть функции bntohex Или что-то подобное ( см. man rsa, затем man bn ). Это как раз ф-ии, сохраняющие BIGNUM в массив char`ов. Соответственно надо пройти по всем полям структуры RSA и подобным образом сохранить их.
Вернуться к началу
lunc
Гость





СообщениеДобавлено: Пт Мар 14 2003 10:14    Заголовок сообщения: Re: RSA в OpenSSL Ответить с цитатой

Спасибо!!!
Сейчас я как раз так и делаю, а нет ли более удобногометода?
Вернуться к началу
atkachen
Гость





СообщениеДобавлено: Пт Мар 14 2003 15:06    Заголовок сообщения: Re: RSA в OpenSSL Ответить с цитатой

Нет. Плюс к этому это еще и косячно с некоторыми значениями экспоненты работает....
В общем, реализаторы этой версии OpenSSL, похоже, не постарались.
Когда я писал клиент-серверное приложение с обменом по TCP, мне пришлось попотеть, пока я нашел параметры, при которых это работает.
Вернуться к началу
lunc
Гость





СообщениеДобавлено: Вт Мар 18 2003 14:34    Заголовок сообщения: Re: RSA в OpenSSL Ответить с цитатой

Заюзал bn2hex и bn2bin (и обратные к ним) следующим образом:

unsigned char str[BN_num_bytes(rsa->n)];
BIGNUM *b = BN_new();
BN_bn2bin(rsa->n, str);
BN_bin2bn(str, BN_num_bytes(rsa->n), b);

или

char *str;
BIGNUM *b = BN_new();
str = BN_bn2hex(rsa->n);
BN_bin2bn(&b, str);

после этого смотрю rsa->n->dmax и b->dmax, по идеи они должны бвыть равны (я вроде создал копию поля n, но в обоих случаях первый равен 64, а второй 33 (при 1024 битной генерации rsa), почему так?
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...