Re: SSL client crt verification
От | Douglas McNaught |
---|---|
Тема | Re: SSL client crt verification |
Дата | |
Msg-id | m2wtm8wzqg.fsf@Douglas-McNaughts-Powerbook.local обсуждение исходный текст |
Ответ на | SSL client crt verification ("Knut P Lehre" <k.p.lehre@world-online.no>) |
Список | pgsql-hackers |
"Knut P Lehre" <k.p.lehre@world-online.no> writes: > Server: 7.4.8 on Red Hat EL4. Client psql 8.0.3 on WinXP. Using a > test server.crt and server.key, as described in 8.0 docs 16.8, I can > activate SSL encryption (WinXP 8.0.3 psql reports "SSL Connection" > at connect), and as expected, the server log reports that root.crt > is not found. If I copy server.crt to root.crt and start up server > again, the missing root.crt message disappears. But I can still > connect with psql with no postgresql.crt on client (docs > 27.13). Apparently, the root.crt, which in this case is a copy of > server.crt, is not interpreted as a CA crt, but how does the server > know? Isn't a CA cert just a self signed crt? Why is there not a > warning that client authentication will not take place, when it > apparently does not? Does the server only check that a root.crt file > is present, and not that is contains valid information? You really need a separate root CA cert and server key. The server key should be signed by the root CA, which is self-signed. The root CA private key should be kept secure somewhere else--the database server doesn't need access to it. I just went though the whole exercise of creating a CA and setting up an app for client cert authentication, so I am reasonably sure the above is your problem. For client auth to work, you need: * Root CA certificate available to both client and server * Server cert signed by root CA, with CN=server hostname * Client cert signed by root CA, available to client to present to server. -Doug
В списке pgsql-hackers по дате отправления: