SSL-SQL-Proxy Server

The Proxyserver is used to make SSL-Secured SQL-request to any database, that has a JDBC-Driver.

What is this all about?

The goal was to develop a server, that works as a proxy server, to forward SQL-Queries using SSL. The server was supposed to be mostly platform independent, and after some considerations, Java was the language of choice. The proxy-server accepts SSL-secured connections over TCP/IP, and reads the request using a specified protocol. Then the proxy-server uses a JDBC-Driver to connect to the database and forward the query, getting the result and transfer the result back to the client via SSL.
The JDBC-Driver has to be choosen in a configuration file, so it should not matter, wether you use MySQL, Oracle, DB2, PostgreSQL, Informix, Microsoft SQL-Server or any other database, that has a JDBC-Driver, except the certain database-specific differences in the support for certain features of the SQL-language.
Right now the server can be used, but not with comfort. One thing that has to be done, is to implement a jdbc-interface for this proxyserver. But right now I do not know anybody who has use for such a server and also for a jdbc-interface to it, and so I will not work on it anymore. Nevertheless, if you think, you need it, then drop me a mail, and if I find the time, I will implement the JDBC-Interface. I would also appreciate a mail, if you find these pieces of code useful at all.

Requirements

To use the SSL-SQL-Proxy Server, you will need the following:


if you use a Java Runtime Environment < 1.4. You can also use the Java Runtime Environment 1.4, where all the cryptographic features have already been implemented.

Copyright and License Terms

Copyright (c) 2001 Robert Hoehndorf.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. Neither the name of the author nor the names of its contributors
   may be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

Documentation

Here can you find the Javadoc Documentation.

Archive Download

Build is from: 2001-11-01
ProxyServer.jar - includes sourcecode
ProxyTools.jar - includes sourcecode
ProxyApplet.jar - includes sourcecode
sslproxy.tar.gz - package, including documentation, additional instructions, sourcecode and jarfiles.

Protocoll

You can find the protocoll specification in German text here. English version is here.

Installation

The install instructions are here (in English).

Contributors

Oliver Jakubczyk

Contact

You can contact me under mai01alq@studserv.uni-leipzig.de.