Allow root ownership of client certificate key
David Steele <david@pgmasters.net>
From: David Steele <david@pgmasters.net>
To: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-10-22T15:41:21Z
Lists: pgsql-hackers
Attachments
- client-key-perm-001.patch (text/plain) patch
Hackers,
I noticed recently that permissions checking is done differently for the
server certificate key than the client key. Specifically, on the server
the key can have 640 perms if it is owned by root.
On the server side this change was made in 9a83564c and I think the same
rational applies equally well to the client key. At the time managed
keys on the client may not have been common but they are now.
Attached is a patch to make this change.
I was able to this this manually by hacking 001_ssltests.pl like so:
- chmod 0640, "ssl/${key}_tmp.key"
+ chmod 0600, "ssl/${key}_tmp.key"
or die "failed to change permissions on ssl/${key}_tmp.key: $!";
- system_or_bail("sudo chown root ssl/${key}_tmp.key");
But this is clearly not going to work for general purpose testing. The
server keys also not tested for root ownership so perhaps we do not need
that here either.
I looked at trying to make this code common between the server and
client but due to the differences in error reporting it seemed like more
trouble than it was worth.
Regards,
--
-David
david@pgmasters.net
Commits
-
Allow root-owned SSL private keys in libpq, not only the backend.
- 9050999efea7 10.21 landed
- 72918ea86cb9 12.11 landed
- 6599d8f12642 13.7 landed
- 5bb3d91ea926 11.16 landed
- 2a1f84636dc3 14.3 landed
- a59c79564bdc 15.0 landed
-
Doc: update libpq.sgml for root-owned SSL private keys.
- 50f03473ed81 15.0 landed