I’m new as can be with creating SSL certificates on my own. I downloaded the openssl binary and installed it. The instructions and tutorials on the website don’t help me much in terms of steps A,B,C; this could also be due to a lack of familiarity with technical terms used for each part of this. The only thing I did accomplish is the following
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
I now have a privateKey and CSR file in the openssl/bin folder. Beyond this I do not know what goes where. I’m on Windows 2003 (server) and Windows XP (client). I know what to change in the PostgreSQL config but do not know if PostgreSQL implicitly knows that a certificate exists, and what the client box should have.
David Patricola | Senior Cold Fusion Developer | Web Applications & Services | Jefferson Information Technologies
Thomas Jefferson Universtiy | Philadelphia, PA | 215.503.1715 (Office)
you probably want to check the postgreSQL documentation for where and how to
use the certs - as this is not specific to OpenSSL.
anyway, in general terms...you now have a private key - good, the PSQL server
would have that.... you need to get your CSR signed by a CA that the client
knows..... you then would configure PSQL to use the public version of the
signed CSR - usually a DER or PEM file by that point. at this point,
its just like a client talking to an SSL'd web server (or any other service).
client connects, gets given the cert...which it trusts (because of CA) and
then SLS tunnel gets made. data is transferred over that tunnel.
alan
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openss...@openssl.org
Automated List Manager majo...@openssl.org
I followed the instructions perfectly, and used my client computer's IP
address as the CA. Here's my setup so far:
On the server:
- In Postgre data/ I have the server.crt and server.key files
- pg_hba.conf has hostssl all all
myipaddress/32 cert
- postgresql.conf has ssl = on
- I restarted the service and it connected.
On the client:
- In my %appdata%/postgresql folder I have postgresql.crt,
postgresql.csr, postgresql.key and root.crt
After this, I try to connect to the server again from my client box and it
says "server does not support SSL, but SSL is required". Would this be a
Postgre issue or did I not put a certificate file correctly somewhere?
My server pg_hba.conf file already has the following to connect to the client:
hostssl all all myipaddress/32 cert
And my postgre configuration file has ssl = on set already.
I installed pgAdmin on my client computer with the Binary file. And I have no idea what the difference is between a local and roaming profile, as my appdata folder is under c:\Documents and Settings\--account--\Application Data\postgresql
When you say the server must be built with SSL support, it has a dropdown option when setting up a database for SSL Mode, and I selected (for now) Required. If there’s some other feature I missed in this regard then I am unaware of it.
My server pg_hba.conf file already has the following to connect to the client:
hostssl all all myipaddress/32 cert
Trust me.
Make your life simple. Change that line to generate some 'empirical' testing:
hostssl all all 0.0.0.0/0 md5
Forget the locked-down CIDR addressing for the moment - given the routing and multi-net environment of any large institution, can you be sure of the IP address you're coming in on? (Presumably you're tailing your logs?)
Forget the cert. Establish a password-only connection, using SSL, as I've suggested earlier. Have you created a simple test user, with an md5-hashed password? (There will be plenty of time for 'Fun with Certs', believe me).
And my postgre configuration file has
ssl = on set already
Well, if you've successfully restarted the server with that option, this may be diagnostic: That you DO have SSL built in to the server.
When you say the server must be built with SSL support, it has a dropdown option when setting up a database for SSL Mode, and I selected (for now) Required
Not relevant. Sounds like you are setting the _client-side_ connection options - perhaps in pgAdminIII? This only set pqlib's behavior.
BTW, Friends don't let friends use pgAdminIII...(!) It's a basis for an 'intervention'; you'll want to get onto the PostgreSQL CLI ASAP!
Last: You realize this is the OpenSSL list; not really the right place to get the advice you seek? (Am happy to help nonetheless... !)
Let me know how you get on! (I will want to know the resolution of all this...)
Lou Picciano
I _just_ realized that I installed PostgreSQL before I installed OpenSSL, so --with-openssl was not populated with the directory location. I need to do this first. How can I modify this in the postgre setup (Windows Binary used to install).
*facepalm*