OpenSSL

From RAD Studio
Jump to: navigation, search

Go Up to Developing RAD Server, Cloud, and REST Applications


OpenSSL is an open-source implementation of the SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. OpenSSL also provides cryptography libraries for secure communication between your application/browser and the server that hosts the services you are using.

Features and Technologies that Require OpenSSL

RAD Studio requires OpenSSL for HTTPS support for the following features and technologies:

  • Sending push notifications with the EMS Server: You need to install the OpenSSL libraries in the system where the RAD Server Engine (EMS Server) runs to send push notifications. You need to install the 32-bit or 64-bit OpenSSL, depending on the EMS Server binary you are running.
  • DataSnap Server: OpenSSL is required by DataSnap servers when encryption filters are enabled or when the Communication Protocol is set to HTTPS in the DataSnap Server Wizard.
  • Indy

Installing OpenSSL

If your application requires OpenSSL support, you must have the necessary library files in your file system before deploying your application.

Platform Download Required File Names Static/Dynamic Linking
Windows (32-bit and 64-bit) Yes libeay32.dll and ssleay32.dll Dynamic
iOS Device Yes libcrypto.a and libssl.a Static
Android Device No Dynamic

Review the requirements below depending on the platform that you are using:

32-bit and 64-bit Windows

To install OpenSSL on 32-bit or 64-bit Windows, you need to copy the libeay32.dll and ssleay32.dll dynamic library files to your file system; you can download them from one of these locations:

If you go for Option 2 and decide to copy libeay32.dll and ssleay32.dll files to your system path, ensure you copy them to the right location:
  • 32-bit Windows: You must copy the libeay32.dll and ssleay32.dll 32-bit files to your Windows system folder (System32 folder).
  • 64-bit Windows: You must copy the libeay32.dll and ssleay32.dll 64-bit files to your Windows system folder for 64-bit files (System32) and the libeay32.dll and ssleay32.dll 32-bit files to your Windows 32-bit files folder (SysWOW64 folder).
So when working with a 64-bit Windows, remember:
  • System32 folder is for 64-bit files only.
  • SysWOW64 folder is for 32-bit files only.
Note: We advice is to locate the DLLs in your application folder only, in order to maintain your own version and avoid conflict with other copies of the DLLs used by other applications on your system.

iOS Device

To install OpenSSL on a 64-bit iOS device, you must copy the libcrypto.a and libssl.a SSL library files to your system. Currently, there are no known safe and supported options to safely download iOS OpenSLL.

However, if you must and ONLY as a fallback solution, you can download the .zip iOS OpenSSL, then extract it and find the .a files in the \lib directory. You must copy the libcrypto.a and libssl.a SSL library files to these directories:

  • C:\Program Files (x86)\Embarcadero\Studio\23.0\lib\iosDevice64\debug
  • C:\Program Files (x86)\Embarcadero\Studio\23.0\lib\iosDevice64\release

macOS and Android

No additional steps are required in macOS since the required files are already in your file system.

On Android version 6 and later, you need to include the OpenSSL Libraries since Android moved away from OpenSSL to BoringSSL.

Note: RAD Studio Sydney only supports Android 8.1 and later versions.
Tip: Android no longer uses OpenSSL since version 6, ensure to bundle all your non-NDK libraries with your APK.

See Also