Thread: pgAdmin SSL support on OS X

pgAdmin SSL support on OS X

From
Travis Dart
Date:
I recently set up SSL authentication on Ubuntu 13.10 running PostgreSQL 9.1.

I can connect using pgAdmin on another Ubuntu machine. But it will not connect on when I try to use pgAdmin (v1.16.1) on OS 10.6.

On the OS X machine, I can connect with psql as follows (excuse the redaction):

PGHOSTADDR=---.---.---.--- \
PGDATABASE=--- \
PGUSER=--- \
PGREQUIRESSL=1 \
PGSSLCERT=~/.postgresql/postgresql.crt \
PGSSLKEY=~/.postgresql/postgresql.key \
PGSSLROOTCERT=~/.postgresql/root.crt \
psql 

Using these same settings, pgAdmin will not connect. Each time I retry, it gives me a different error message. (It's very odd.) These are the error messages it gives me in the order I get them ('...path...' is the path to my certificate file):

"Error connecting to the server: SSL error: block type is not 01"
"Could not read certificate file '...path...' padding check failed."
"Could not read certificate file '...path...' EVP lib"
"Could not read certificate file '...path...' certificate verify failed."
"Could not read certificate file '...path...' uninitialized."

After this, it will repeat the "uninitialized" error message when I retry it. When I restart pgAdmin and try again, the messages start over.

Thanks for your help,

Travis



Re: pgAdmin SSL support on OS X

From
Dave Page
Date:
Hi

On Fri, May 17, 2013 at 12:23 AM, Travis Dart <travis@tacito.com> wrote:
> I recently set up SSL authentication on Ubuntu 13.10 running PostgreSQL 9.1.
>
> I can connect using pgAdmin on another Ubuntu machine. But it will not
> connect on when I try to use pgAdmin (v1.16.1) on OS 10.6.
>
> On the OS X machine, I can connect with psql as follows (excuse the
> redaction):
>
> PGHOSTADDR=---.---.---.--- \
> PGDATABASE=--- \
> PGUSER=--- \
> PGREQUIRESSL=1 \
> PGSSLCERT=~/.postgresql/postgresql.crt \
> PGSSLKEY=~/.postgresql/postgresql.key \
> PGSSLROOTCERT=~/.postgresql/root.crt \
> psql
>
> Using these same settings, pgAdmin will not connect. Each time I retry, it
> gives me a different error message. (It's very odd.) These are the error
> messages it gives me in the order I get them ('...path...' is the path to my
> certificate file):
>
> "Error connecting to the server: SSL error: block type is not 01"
> "Could not read certificate file '...path...' padding check failed."
> "Could not read certificate file '...path...' EVP lib"
> "Could not read certificate file '...path...' certificate verify failed."
> "Could not read certificate file '...path...' uninitialized."
>
> After this, it will repeat the "uninitialized" error message when I retry
> it. When I restart pgAdmin and try again, the messages start over.

I haven't been able to reproduce this exact error message, but I have
fixed a bug that (as far as I can see) would have prevented SSL cert
auth from ever working with a new connection. I've tested on OS X 10.8
and Windows 7 and cert based auth works for me now (except for
backups, which I'm looking into).

http://git.postgresql.org/gitweb/?p=pgadmin3.git;a=commit;h=a0f34f5e4bfd32128b363d9495d7f4b21187660f

The fix will be in 1.16.2 and 1.18.0.

Thanks!

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company