4

ここしばらく IW プログラムで SSL を使用しようとしてきましたが、「SSL ライブラリをロードできませんでした」というメッセージが表示され続けています。私はこの件に関して見つけることができるすべてのアドバイスに従いましたが、それでも喜びはありません. 提案された DLL をローカル ディレクトリと system32 の両方で試しました。

どの OpenSSL DLL を使用すべきかについて明確な答えを持っている人はいますか? そして、それらのビルドは何ですか?または、他のアイデアはありますか?

Indy: 昨日最新のスナップショットに更新されました IntraWeb: ストック D2007 がインストールされています

違いがある場合、これは Vista マシンで実行されています。

ティア、

トレバー

4

4 に答える 4

3

解決済み:

問題は私のマシンに浮かんでいる bpl だったようです。

D2007 とプリインストールされたライブラリでスタンドアロン サーバーを実行するのに他の誰かが問題を抱えている場合に備えて、私が取った手順は次のとおりです。

  1. マシンから Indy の痕跡をすべて削除します。Indy のサイトのどこかにハウツーがあります。
  2. Subversion リポジトリから Indy 10 トランクをダウンロードします。
  3. 指示に従って Indy をインストールします。
  4. atozed から最新の IW9 をダウンロードします。キーが必要です。
  5. それをインストールします - 現在のインストールを壊します。

ここで、OpenSSL DLL の場合:

  1. ここから入手してください: http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8i.exe
    • これらは私にとってはうまくいっています。
  2. ファイアウォールがポート 443 (または選択したもの) を通過させていることを確認してください。

この時点で、デモとアプリをコンパイルして実行することができました。

すべての助けをありがとう。

トレバー

于 2008-10-24T22:40:00.387 に答える
2

ここからダウンロードできるOpenSSL dll(0.9.8iは機能しましたが、Vistaは使用していません)が必要です(あなたが示唆しているように、Indy dllはバージョンであるIW9では機能しませんD2007 にバンドルされています)。

インストール後、ssleay32.dll と libeay32.dll を system32 からアプリケーション ディレクトリにコピーします。

それでもうまくいかない場合:

  • サーバーコントローラーの ssl ポートは 443 に設定されていますか?
  • cert pw は、サーバーコントローラーの ssl cert pw と一致していますか?
  • servercontroller.sslversion は sslv23 に設定されていますか?
  • SSL (standalonessl) 用の AtoZed デモ アプリケーションをコンパイル/実行してみましたか?

お役に立てれば。

編集: これが機能するようになったら、sslversion を sslv3 に変更し、ユーザーに v2 をオフにしてもらいます。

于 2008-10-18T05:34:52.593 に答える
1

今日、Embarcadero ニュースグループのイントラウェブ フォーラムでの同じ質問への回答として、Chad Z. "Kudzu" Hower がこのリンクを投稿しました(説明なしで、リンクだけです)。

そのページは、SSL ライブラリの特別なビルドへのリンクを提供します。

お役に立てれば。

于 2008-10-22T04:02:05.587 に答える
0

私は前述の IntraWeb SSL dll の特別なビルドを作成した者です。上記の回答を完成させるために、特別なビルドが必要な理由を説明させてください。

以前の Indy および IntraWeb エディションでは、わずかに変更されたバージョンの OpenSSL が使用されていました。変更には、当時の Delphi や Indy では利用できなかったタイムゾーンの計算などに関連するいくつかの関数が含まれています。

そのため、変更されていない OpenSSL DLL のセット (Indy OpenSSL DLL ではない) を古い Indy または IntraWeb バージョンと一緒に使用すると、エクスポートが見つからないために「SSL ライブラリをロードできませんでした」というエラーが表示されます。

Delphi 2009 で使用する Indy バージョン以降、これらの変更は不要になりました。そのため、現在の Indy バージョン (Delphi 2007 でも SVN から) は、IntraWeb と共に slproweb からの dll でも動作します (これらの変更は含まれません)。

ただし、slproweb dllには MS VC++ ランタイム dll が必要であることに注意してください。

これを回避するために、私は定期的に Indy 用の独自の dll セットを作成しています: ftp://ftp.fulgan.com/SSL/

今日の時点では、このエディションを使用しても問題ないはずです: ftp://ftp.fulgan.com/SSL/openssl-1.0.0d-i386-win32-rev2.zip

私の dll セットは、MC VC ランタイムのインストールを必要としません。

したがって、Delphi 2009 および/または対応する SVN リビジョンよりも新しい Indy バージョンは、slproweb (VC 依存関係を含む) または独自の (fulgan ミラーからの) dll で安全に使用できると言っても過言ではありません。

于 2011-07-17T18:59:24.403 に答える