OpenSSL 3.0 では、非推奨または安全でないアルゴリズムの一部が legacy provider と呼ばれる内部ライブラリモジュールに移動されました。これはデフォルトでは読み込まれないため、OpenSSL を暗号化操作に使用するアプリ (またはその言語ランタイム) は、証明書の読み込みやメッセージダイジェストの作成などの際にそうしたアルゴリズムを使用できません。
たとえば p12 証明書を読み込もうとするとエラーが発生します。sgcIndy または sgcWebSockets を使用して p12 証明書を読み込みたい場合は、legacy.dll ライブラリをデプロイし、コンポーネントの一部のプロパティを有効にする必要があります。
現在、最新の openSSL 3.3 バージョンとともに legacy.dll をダウンロードできます。
sgcWebSockets
- プロパティ OpenSSL_Options.Legacy.Enabled を True に設定します。
- Legacy ライブラリの場所を設定します。
- OpenSSL_Options.Legacy.LibPath: ここで legacy ライブラリの場所を設定できます
- oslpNone: これはデフォルトで、legacy ライブラリはバイナリと同じフォルダー、または既知のパスにある必要があります。
- oslpDefaultFolder: すべての IDE パーソナリティ用にライブラリが配置されるべき legacy ライブラリパスを自動的に設定します。
- oslpCustomFolder: このオプションを選択した場合、プロパティ LibPathCustom にフルパスを定義します。
- OpenSSL_Options.Legacy.LibPathCustom: LibPath = oslpCustomFolder のとき、ここに legacy ライブラリが配置されているフルパスを定義します。
- OpenSSL_Options.Legacy.LibPath: ここで legacy ライブラリの場所を設定できます
sgcIndy
- プロパティ SSLOptions.Legacy を True に設定します。
- サーバーまたはクライアントを起動する前に、legacy.dll ライブラリが配置されているパスを設定します。関数 IdOpenSSLSetOSSLPath を使用し、パスを引数として渡してください。
