Re: SSL and USER_CERT_FILE - Mailing list pgsql-hackers

From pgsql@mohawksoft.com
Subject Re: SSL and USER_CERT_FILE
Date
Msg-id 55527.24.60.196.157.1210858270.squirrel@mail.mohawksoft.com
Whole thread Raw
In response to Re: SSL and USER_CERT_FILE  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: SSL and USER_CERT_FILE  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: SSL and USER_CERT_FILE  (Steve Atkins <steve@blighty.com>)
List pgsql-hackers
> Mark Woodward wrote:
>> I am using PostgreSQL's SSL support and the conventions for the key and
>> certifications don't make sense from the client perspective. Especially
>> under Windows.
>>
>> I am proposing a few simple changes:
>>
>> Adding two API
>> void PQsetSSLUserCertFileName(char *filename)
>> {
>>     user_crt_filename = strdup(filename);
>> }
>> PQsetSSLUserKeyFileName(char *filename)
>> {
>>     user_key_filename = strdup(filename);
>> }
>>
>>
>>
> [snip]
>> Any comments?
>>
>>
>
>
> I think it would probably be much better to allow for some environment
> variables to specify the locations of the client certificate and key
> (and the CA cert and CRL) - c.f. PGPASSFILE.
>
> That way not only could these be set by C programs but by any libpq user
> (I'm sure driver writers who use libpq don't want to have to bother with
> this stuff.) And we wouldn't need to change the API at all.
>

The problem I have with environment variables is that they tend not to be
application specific and almost always lead to configuration issues. As a
methodology for default configuration, it adds flexibility. Also, the
current configuration does not easily take in to consideration the idea
that different databases with different keys can be used from the same
system the same user.

Maybe we need to go even further and add it to the PQconnect API
sslkey=filename and sslcrt=filename in addition to sslmode?




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [rfc,patch] PL/Proxy in core
Next
From: Tom Lane
Date:
Subject: Re: SSL and USER_CERT_FILE