![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
alexsk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 24.4.2006 Где: Томск Репутация: нет Всего: нет |
Нужно библиотеке на си (libeay32.dll) параметром функции (PEM_read_PrivateKey( fp,nil,nil,nil)) передать указатель типа FILE, только сишный файл и дельфевый - это разные вещи и передать тупо укзателем не получается. Как можно обмануть сишную dll?
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
можно написать на сях небольшую библиотеку, принимающую имя файла, вызывающую libeay32.dll
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
CatATonik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 12.1.2007 Где: Москва Репутация: 6 Всего: 8 |
Не знаю что этой функции надо, но думаю не указатель а Handle файла. Превратить FILE в Handle проблематично, может лучше просто окрыть файл APIшными функциями (CreateFile).
|
|||
|
||||
alexsk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 24.4.2006 Где: Томск Репутация: нет Всего: нет |
тут проблема в том, что передать нужно указатель на переменную тип FILE сишного, т.е. надо смонтировать в делфи указатель на переменную сишного типа FILE и уже его передать функции
Это сообщение отредактировал(а) alexsk - 1.2.2007, 13:07 |
|||
|
||||
VectorMan |
|
|||
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: нет Всего: 4 |
Если libeay32.dll слинкована не со статической сишной либой, а какой нибудь dll (типа msvcrt.dll), то можно в дельфийском исходнике экспортировать функцию fopen и вызывать её для открытия файла, а потом передавать полученный указатель нужной функции
Это сообщение отредактировал(а) VectorMan - 1.2.2007, 16:19 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Лучше передать хэндл открытого файла, тогда вообще проблем не будет. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
alexsk,
начем написана библа? ибо это из gcc
а это из билдера
какой переводить? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||
|
|||||
alexsk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 24.4.2006 Где: Томск Репутация: нет Всего: нет |
Romikgy, да хбз, эта дллка идет с openssl у них файл открывается через fopen(), но эта функция имхо стандартная для всех си и может использоваться в любом... или я не прав? А как узнать? Я че-то у поставщиков нигде не нашел....
![]() Alexeis, как? ![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
а ты хоть чуть чуть в Си разбираешься? посмотри то что я привел, увидишь разницу? ЗЫ приведи пример работы с этой библиотекой на си, всех ф_ций которые тебе понадобяться -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
alexsk, Сишная структура совместима только с C++, в делфи для доступа к файлу используются другие структуры.
Файл открывается при помощи CreateFileEx(); - результат хендл открытого файла. Этот хендл можно спокойно передавать куда угодно. Делфи с ним прекрасно работает. Открой MSDN - раздел работа с файлами. Там описаны все апишные функции. Все они работают с дескриптором открытого файла. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
alexsk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 24.4.2006 Где: Томск Репутация: нет Всего: нет |
Вот пример чего надо написан на Си
Мне по сути надо тоже самое только на делфи А вся запарка в этом PEM_read_PrivateKey(f,NULL,NULL,NULL); и встала. Как ему передать файл? Это сообщение отредактировал(а) alexsk - 13.2.2007, 12:08 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |