![]() |
|
Модераторы: feodorv |
![]()
|
|
| bomberman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 4.4.2008 Где: Брест Репутация: нет Всего: нет |
Приветствую, господа!
Дан следующий код, генерирующий ключи по алгоритму RSA (данный код находится в статье на http://www.opennet.ru/docs/RUS/use_openssl (в конце страницы - листинг 1)): #include <crypto.h> #include <pem.h> #include <rsa.h> #pragma comment( lib, "opengl32.lib" ) #pragma comment (lib, "C:\\OpenSSL\\lib\\VC\\libeay32MDd.lib") /* Имена ключевых файлов */ #define PRIVAT "./privat.key" #define PUBLIC "./public.key" void main() { /* указатель на структуру для хранения ключей */ RSA * rsa = NULL; unsigned long bits = 2048; /* длина ключа в битах */ FILE *priv_key_file = NULL, *pub_key_file = NULL; /* контекст алгоритма шифрования */ const EVP_CIPHER *cipher = NULL; priv_key_file = fopen(PRIVAT, "wb"); pub_key_file = fopen(PUBLIC, "wb"); /* Генерируем ключи */ rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL); /* Формируем контекст алгоритма шифрования */ OpenSSL_add_all_ciphers(); cipher = EVP_get_cipherbyname("bf-ofb"); /* Получаем из структуры rsa открытый и секретный ключи и сохраняем в файлах. * Секретный ключ шифруем с помощью парольной фразы "hello" */ PEM_write_RSAPrivateKey(priv_key_file, rsa, cipher, NULL, 0, NULL, "hello"); PEM_write_RSAPublicKey(pub_key_file, rsa); /* Освобождаем память, выделенную под структуру rsa */ RSA_free(rsa); } На функции PEM_write_RSAPrivateKey(priv_key_file, rsa, cipher, NULL, 0, NULL, "hello"); трассировка прекращается. Вопрос состоит в том, как это можно объяснить и какие действия можно предпринять, чтобы получить нужный результат работы программы: файлы privat.key и puplic.key должны быть заполнены ключами, а пока что они только создаются, но пусты. Заранее спасибо за ответ! Это сообщение отредактировал(а) bomberman - 14.4.2008, 11:41 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |