Skip to content
Mirror of Apache Tomcat Native
C Shell Java XSLT CSS Perl HTML
Latest commit 043f950 Feb 18, 2016 Rainer Jung BZ 59024: Native function "versionString()"
and for OpenSSL 1.1.0 also "version()"
(both in in ssl.c) now return the OpenSSL
run time version, not the compile time version.

Backport of r1731004 and 1731006 from trunk.

git-svn-id: 13f79535-47bb-0310-9956-ffa450edef68


            Apache Tomcat Native Library

What is it?

The Apache Tomcat Native Library provides portable API for features
not found in contemporary JDK's. It uses Apache Portable Runtime as
operating system abstraction layer and OpenSSL for SSL networking and
allows optimal performance in production environments.


Please see the file called LICENSE.

The Latest Version

Details of the latest version can be found on the Apache Tomcat
project page under


The documentation available as of the date of this release is
included in HTML format in the jni/docs directory.
The most up-to-date documentation can be found at

Documentation about the Tomcat APR connector which is based
on this library can be found at


To build the Java API. Note that Java 1.7 is required to build the Java API.
> ant

To build the native part see jni/native/BUILDING (or native/BUILDING if you have a working copy of svn).

Running the tests

First run "ant download" to retrieve junit. It will be placed
in the directory given by "base.path". The path can be changed
by adjusting "base.path" in the file
or overwrite it in a new file

Now run "ant test".

Running the examples

Before running the examples you may have to set LD_LIBRARY_PATH, something like
LD_LIBRARY_PATH=/opt/SMAWoIS/openssl/lib; export LD_LIBRARY_PATH

1) echo example:
   - Choose some free port in
   - run: ant run-echo

2) ssl server example:
   - Change parameters in dist/classes/examples/org/apache/tomcat/jni/
     according to your needs. The certificate and key should be in
   - run: ant run-ssl-server

Cryptographic Software Notice

This distribution may include software that has been designed for use
with cryptographic software.  The country in which you currently reside
may have restrictions on the import, possession, use, and/or re-export
to another country, of encryption software.  BEFORE using any encryption
software, please check your country's laws, regulations and policies
concerning the import, possession, or use, and re-export of encryption
software, to see if this is permitted.  See <>
for more information.

The U.S. Government Department of Commerce, Bureau of Industry and
Security (BIS), has classified this software as Export Commodity
Control Number (ECCN) 5D002.C.1, which includes information security
software using or performing cryptographic functions with asymmetric
algorithms.  The form and manner of this Apache Software Foundation
distribution makes it eligible for export under the License Exception
ENC Technology Software Unrestricted (TSU) exception (see the BIS
Export Administration Regulations, Section 740.13) for both object
code and source code.

Apache Tomcat Native uses cryptographic software for configuring and
listening to connections over SSL encrypted network sockets by
performing calls to a general-purpose encryption library, such as
OpenSSL or the operating system's platform-specific SSL facilities.
Something went wrong with that request. Please try again.