Configuring APR, OpenSSL, Tomcat Native Library, Java 1.8.0_171-b11 on Tomcat 8.5.32

I am trying to configure our dedicated server to use two SSL certificates with the same IP address. The only way to do so is to use SNI. But before I can use SNI, I have to configure Tomcat with APR, OpenSSL and Tomcat Native Library.

I tried to configure Tomcat to use APR 1.6.5, OpenSSL 1.0.2o, Tomcat Native Library 1.2.17 with Java 1.8.0_171-b11.

I added in a file setenv.sh to contain the lines LD_LIBRARY_PATH=’$ LD_LIBRARY_PATH:$ CATALINA_HOME/lib:/usr/local/apr/lib’ export LD_LIBRARY_PATH

But when I restarted Tomcat, it encountered the following error: 10-Apr-2019 17:56:25.395 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Lo aded APR based Apache Tomcat Native library [1.2.17] using APR version [1.6.5].

10-Apr-2019 17:56:25.395 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent AP R capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

10-Apr-2019 17:56:25.395 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent AP R/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]

10-Apr-2019 17:56:25.396 SEVERE [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Failed to initialize the SSLEngine. org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform at org.apache.tomcat.jni.SSL.initialize(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.core.AprLifecycleListener.initializeSSL(AprLifecycleListener.java:289 ) at org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(AprLifecycleListener.java:13 6) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.startup.Catalina.load(Catalina.java:632) at org.apache.catalina.startup.Catalina.load(Catalina.java:655) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)

10-Apr-2019 17:56:25.458 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-8080”]

What have I done wrong? Am I using incompatible versions of the APR, OpenSSL, Tomcat Native, Tomcat server or Java? What minimum version of each of the above software should I use?