close

[Solved] Tomcat: Native library which allows using OpenSSL was not found

Hello Guys, How are you all? Hope You all Are Fine. Today I am facing the following error Tomcat: Native library which allows using OpenSSL was not found in Java. So Here I am Explain to you all the possible solutions here.

Without wasting your time, Let’s start This Article to Solve This Error.

How Tomcat: Native library which allows using OpenSSL was not found Error Occurs?

Today I am facing the following error Tomcat: Native library which allows using OpenSSL was not found in Java.

How To Solve Tomcat: Native library which allows using OpenSSL was not found Error ?

  1. How To Solve Tomcat: Native library which allows using OpenSSL was not found Error ?

    To Solve Tomcat: Native library which allows using OpenSSL was not found Error I simply added the *.war file in the opt/tomcat/webapps directory of tomcat, and then I restarted the tomcat server using:

  2. Tomcat: Native library which allows using OpenSSL was not found

    To Solve Tomcat: Native library which allows using OpenSSL was not found Error I simply added the *.war file in the opt/tomcat/webapps directory of tomcat, and then I restarted the tomcat server using:

Solution 1

I figured out what the issue was.

I had already set up an SSL/TLS/HTTPS connection protocol in the opt/tomcat/conf/server.xml file:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" >
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/key.key"
                     certificateFile="conf/cert.crt"
                     certificateChainFile="conf/chain.crt"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

but the *.war file that was gonna use the connection was not put in the opt/tomcat/webapps directory.

Here’s how I solved it:

I simply added the *.war file in the opt/tomcat/webapps directory of tomcat, and then I restarted the tomcat server using:

sudo systemctl restart tomcat

And everything worked fine.

That’s all.

I hope this helps

Solution 2

You need to install tomcat-native-1.2.31 from source code as following steps:

  1. Install tool (skipped them if already exists)
yum install gcc apr-devel apr-util
  1. Download tomcat-native from official site to /tmp folder
cd /tmp
wget https://mirror-hk.koddos.net/apache/tomcat/tomcat-connectors/native/1.2.31/source/tomcat-native-1.2.31-src.tar.gz
  1. Decompress file
tar zxvf tomcat-native-1.2.23-src.tar.gz
  1. Configuration
cd tomcat-native-1.2.23-src/native

./configure --with-apr=/usr/bin/apr-1-config \
            --with-java-home=$JAVA_JOME \
            --with-ssl=yes \
            --prefix=$CATALINA_HOME
  1. Compile and install
make & make install
  1. Edit $CATALINA_HOME/bin/setenv.sh (creating the file if necessary) and add the path to the tc-native libraries to LD_LIBRARY_PATH.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

And it’s work!

Summery

It’s all About this issue. Hope all solution helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which solution worked for you? Thank You.

Also, Read