Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenSSL: почему трассировка завершается в PEM_writ 
:(
    Опции темы
bomberman
Дата 14.4.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.