Проблемы SSL с IntraWeb - Delphi 2007 - PullRequest
4 голосов
/ 17 октября 2008

Я пытался, чтобы SSL работал над моей программой IW в течение последнего времени, и я продолжаю работать против «Не удалось загрузить библиотеку SSL». Я следовал всем советам, которые только мог найти по этому вопросу, но все равно не испытывал радости. Я пробовал предложенные DLL как в локальном каталоге, так и в system32.

У кого-нибудь есть точный ответ о том, какие библиотеки OpenSSL мне следует использовать? И какой из них строй? Или какие-то другие идеи?

Indy: обновлен до самого последнего снимка вчера IntraWeb: на складе установлен D2007

Это работает на компьютере с Vista, если это имеет какое-либо значение.

ТИА

Тревор

Ответы [ 4 ]

3 голосов
/ 25 октября 2008

РЕШИТЬ:

Похоже, проблема заключалась в том, что на моей машине плыл bpl.

Вот шаги, которые я предпринял на тот случай, если у кого-то еще возникнут проблемы с запуском автономного сервера с D2007 и предустановленными библиотеками:

  1. Удалите все следы Indy с вашей машины - где-то есть инструкция на сайте Indy;
  2. Загрузите ствол Indy 10 из хранилища Subversion
  3. Установите Indy в соответствии с инструкциями;
  4. Загрузите последнюю версию IW9 с atozed - вам понадобится ключ;
  5. Установите его - пусть он затенит вашу текущую установку;

сейчас для библиотек OpenSSL:

  1. Получите их отсюда: http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8i.exe
    • у меня это хорошо работает;
  2. Убедитесь, что ваш брандмауэр пропускает порт 443 (или что вы выберете);

На данный момент я смог скомпилировать и запустить демо и мое приложение.

Спасибо за помощь.

Тревор

2 голосов
/ 18 октября 2008

Вам нужны dll OpenSSL (0.9.8i работал для меня, но я не пользуюсь Vista), которую вы можете загрузить здесь (как вы думаете, Indy dlls don ' • работать с IW9, версией, поставляемой в комплекте с D2007).

После установки скопируйте ssleay32.dll и libeay32.dll из system32 в каталог своего приложения.

Если это все еще не работает:

  • ssl-порт вашего контроллера сервера установлен на 443?
  • соответствует ли ваш сертификат pw ssl cert pw вашего контроллера сервера?
  • для servercontroller.sslversion установлено значение sslv23?
  • Вы пытались скомпилировать / запустить демонстрационное приложение AtoZed для SSL (standalonessl)?

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: как только вы это заработаете, вы захотите изменить sslversion на sslv3 и попросить пользователей отключить v2.

1 голос
/ 22 октября 2008

В ответе сегодня на тот же вопрос на внутриросетевом форуме новостных групп Embarcadero Чад З. "Кудзу" Хауэр опубликовал эту ссылку (без каких-либо объяснений - только ссылка).

Эта страница предоставляет эту ссылку для специальной сборки библиотек SSL.

Надеюсь, это поможет.

0 голосов
/ 17 июля 2011

Я тот, кто создал вышеупомянутую специальную сборку IntraWeb SSL dll. Чтобы завершить приведенные выше ответы, позвольте мне объяснить, почему возникла необходимость в специальной сборке:

В предыдущих выпусках Indy и IntraWeb использовалась слегка измененная версия OpenSSL. Модификации включают в себя несколько функций, связанных, например, с расчеты часового пояса, которые не были доступны в Delphi или Indy в то время.

Поэтому, когда кто-то использовал неизмененный набор библиотек OpenSSL (не библиотек OpenSSL Indy) вместе со старой версией Indy или IntraWeb, он получит ошибку «Не удалось загрузить библиотеку SSL» из-за отсутствующего экспорта.

Начиная с версии Indy, которую мы используем с Delphi 2009, эти изменения больше не нужны. Вот почему текущая версия Indy - из SVN даже с Delphi 2007 - вместе с IntraWeb также работает с dll из slproweb (которые не включают эти модификации).

Но учтите, что для библиотеки slproweb требуется DLL-библиотека времени выполнения MS VC ++ .

Чтобы обойти это, я регулярно создаю собственный набор DLL для Indy: FTP: //ftp.fulgan.com/SSL/

На сегодняшний день у вас должно быть все в порядке, используя это издание: FTP: //ftp.fulgan.com/SSL/openssl-1.0.0d-i386-win32-rev2.zip

Мой набор DLL не требует установки сред выполнения VC MC.

Так что можно с уверенностью сказать, что любая версия Indy, более новая, чем Delphi 2009, и / или соответствующая версия SVN безопасна для использования с slproweb (с зависимостями VC) или с нашими (из зеркала fulgan).

...