On Sat, 6 May 2000, Robert B. Easter wrote:
> OpenSSL is under the BSD license (www.openssl.org). Its source code can be
> integrated into the PostgreSQL source code so that users need know nothing
> about it. It would just get used internal to Postgres and the client
> libraries.
Please do not 'integrate' code from OpenSSL into the tree. Its huge (2M
compressed source tree).
Negotiating security protocols and reconnecting seems like a hassle, just
having autoconf detect presence of openssl libraries (automatically or
--with-openssl) is perfect. The best (as in, simplest and most
transparent) way to integrate SSL support is to do it like http/https:
provide another port on which connections will be only accepted using SSL
protocol. Security-minded administrators should have an option of
disabling non-encrypted port. On client side, use fairly simple (to my
memory, you use {tls|ssl}_connect instead of connect)
A flag for databases that would disallow their usage if the connection is
unencrypted would be nice though, for those people who wish to have both
encrypted and unencrypted connections.
> OpenSSL also contains an MD5 routine that can be used on the passwords.
MD5 is extremely simple, about 50 lines of code.
-alex