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 the 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.
  • Indy
  • InterBase: InterBase uses OpenSSL for encryption and OTW/SSL features.
  • 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.

Installing OpenSSL

If your application requires OpenSSL support, you need to 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
macOS No libcrypto.dylib, libssl.dylib Dynamic
iOS Device (32-bit and 64-bit) Yes libcrypto.a and libssl.a Static
iOS Simulator No libcrypto.dylib, libssl.dylib Dynamic
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 in a 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.

32-bit and 64-bit iOS Device

To install OpenSSL in a 32-bit or 64-bit iOS device, you must copy the libcrypto.a and libssl.a SSL library files to your system. Download the .zip iOS OpenSSL, 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\21.0\lib\iosDevice<architecture>\debug
  • C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\iosDevice<architecture>\release

iOS Simulator, macOS and Android

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

For Android versions up to 6, you need to include the OpenSSL Libraries since Android moved away from OpenSSL to BoringSSL.

Note: RAD Studio Sydney only supports up to Android 6 versions.
Tip: Up to Android OS 6.1 no longer uses OpenSSL, ensure to bundle all your non-NDK libraries with your APK.

See Also