较新版本的 OSX 不包含 OpenSSL 库,或版本过旧,因此必须随应用程序一起部署。请按以下步骤部署这些库:
在您的项目中打开 Project/Deployment。
添加所需的库。
将 RemotePath 设置为 'Contents\Macos\'。
将 openSSL LibPath 配置为默认文件夹:
Client.TLSOptions.OpenSSL_Options.LibPath = oslpDefaultFolder.
Server.SSLOptions.OpenSSL_Options.LibPath = oslpDefaultFolder.
需要以下库:
您可以从您的账户下载最新的库文件。
需要以下库:
有一个 32 位版本和一个 64 位版本。您必须将这些库复制到应用程序所在的同一文件夹中。
您可以从您的账户下载最新的库文件。
需要以下库:
仅提供 64 位版本。您必须将这些库复制到应用程序所在的同一文件夹中。
您可以从您的账户下载最新的库文件。
如果在 OSX 应用程序中包含 OpenSSL 库,应用程序经过公证后,这些库将被签名,您可以使用以下命令进行验证:
codesign -dv --verbose=4 libcrypto.1.1.dylib
请查看以下视频,了解如何使用 OpenSSL 库构建 MacOSX64 应用程序。
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 库。