최신 버전의 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 라이브러리를 포함하는 경우, 애플리케이션이 Notarize된 후 라이브러리에 서명되며, 다음 명령을 사용하여 이를 확인할 수 있습니다:
codesign -dv --verbose=4 libcrypto.1.1.dylib
OpenSSL 라이브러리를 사용하여 MacOSX64 애플리케이션을 빌드하는 방법을 보여주는 다음 동영상을 확인하십시오.
https://www.esegece.com/websockets/videos/delphi/quickstart/275-build-macosx64-application/file
클라이언트는 안정적인 ABI가 없으므로 버전이 없는 libcrypto dylib를 로드해서는 안 됩니다.
MacOS Monterey+에서, openSSL 라이브러리를 로드하려고 할 때 이 오류가 발생할 수 있습니다. 이 오류는 버전 없는 openSSL 라이브러리(예: libcrypto.dylib)를 먼저 로드하려고 할 때 발생합니다.
이 오류를 수정하려면 OpenSSL_Options.UnixSymLinks 속성에 oslsSymLinksDontLoad 값을 설정하십시오. 이렇게 하면 버전 없는 openSSL 라이브러리의 로드를 방지합니다.