新しいバージョンの OSX には openssl ライブラリが含まれていないか、古すぎるため、アプリケーションと一緒にデプロイする必要があります。次の手順でこれらのライブラリをデプロイしてください:
プロジェクトでProject/Deploymentを開きます。
必要なライブラリを追加します。
RemotePath = 'Contents\Macos\' に設定します。
OpenSSL の LibPath をデフォルトフォルダーに設定します:
Client.TLSOptions.OpenSSL_Options.LibPath = oslpDefaultFolder.
Server.SSLOptions.OpenSSL_Options.LibPath = oslpDefaultFolder.
以下のライブラリが必要です。
アカウントから最新のライブラリをダウンロードできます。
以下のライブラリが必要です。
32 ビット版と 64 ビット版の 2 種類があります。アプリケーションが配置されているフォルダーにこれらのライブラリをコピーする必要があります。
アカウントから最新のライブラリをダウンロードできます。
以下のライブラリが必要です。
64ビット版のみ提供されています。これらのライブラリはアプリケーションと同じフォルダにコピーする必要があります。
アカウントから最新のライブラリをダウンロードできます。
OSX アプリケーションに OpenSSL ライブラリを含める場合、アプリケーションが公証(Notarize)された後、ライブラリは署名されます。次のコマンドで確認できます:
codesign -dv --verbose=4 libcrypto.1.1.dylib
以下の動画で、MacOSX64 アプリケーションを OpenSSL ライブラリでビルドする方法を確認してください。
https://www.esegece.com/websockets/videos/delphi/quickstart/275-build-macosx64-application/file
クライアントはバージョンなしの libcrypto dylib をロードすべきではありません。安定した ABI がないためです。
MacOS Monterey 以降では、openSSL ライブラリを読み込もうとするとこのエラーが発生することがあります。バージョンなしの openSSL ライブラリ(例:libcrypto.dylib)を最初に読み込もうとしたときに発生します。
このエラーを修正するには、プロパティ OpenSSL_Options.UnixSymLinks に値 oslsSymLinksDontLoad を設定します。これにより、バージョンなしの OpenSSL ライブラリの読み込みを回避できます。