[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: postgresql + SSL: что за проблема с сертификатом?



On 2010.06.01 at 11:26:01 +0800, Denis Feklushkin wrote:

> Установил сертификат (файлы server.key и server.crt в директории с данными), но не могу воспользоваться проверкой сервера клиентом по сертификату (опция клиента sslmode=verify-full)
> 
> для начала, эта команда должна просто показывать сертификат, который шлёт сервер:
> 
> den@localhost:~$ openssl s_client -connect db.h-----m.com:5432
> CONNECTED(00000003)
> 2932:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:

openssl s_client не поддерживает протокол Postgresql.

smtp, pop3, ftp и imap поддерживает (as of 0.9.8) а PostgreSQL нет.

Во всех перечисленных протоколах поддеживается возможность сначала
установить незашифрованное соединение, а потом "сапгрейдить" его до
защищенного. Но для этого клиент должен уметь средствами протокола
попростить сервер "а давай мы соединение сапгрейдим". Для ряда
протоколов предусмотрена альтернатива - можно пойти на другой порт и там
сразу выполнить TLS handshake, до первой команды протокола. Например для
imap портом для незащищенного соединения (где потом можно сказадть
STARTTLS) является 143, а для защищенного - 993.

соответственно команда

openssl s_client -connect mailhost:143 -starttls imap

должна привести к установлению защищенного соединения, если imap-сервер
это поддерживает. Равно как  и

openssl s_client -connect mailhost:993
(а вот тут -starttls уже не  нужна) 



А вот для протоокола  postgresql  альтернативного порта не предусмотрено.
Поэтому установить защищенное соединение с PostgreSQL может только
клиент, который знает как средствмами постгресовского протокола сказать
STARTTLS. То есть фактически только что-то, использующее libpq.


Reply to: