/
githubmirror
/
postgres
ОбзорДокументацияВойти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
postgres/
.../backend/libpq/
..
Makefile

Add support for OAUTHBEARER SASL mechanism

год назад
README.SSL

Move EDH support to common files

9 лет назад
auth-oauth.c

oauth: Fix missing quote in errormessage

3 месяца назад
auth-sasl.c

sasl: Allow backend mechanisms to "abandon" exchanges

4 месяца назад
auth-scram.c

Use value of scram_iterations in mock_scram_secret().

19 часов назад
auth.c

Warn on password auth with MD5-encrypted passwords

месяц назад
be-fsstubs.c

Clean up write() return type

месяц назад
be-gssapi-common.c

Update copyright for 2026

7 месяцев назад
be-secure-common.c

Declare load_hosts() as returning HostsFileLoadResult.

3 месяца назад
be-secure-gssapi.c

Don't include wait_event.h in pgstat.h

5 месяцев назад
be-secure-openssl.c

ssl: Use the correct feature macros for TLS protocol support

13 дней назад
be-secure.c

Remove incorrect OpenSSL feature guards

2 месяца назад
crypt.c

Warn on password auth with MD5-encrypted passwords

месяц назад
hba.c

Remove RADIUS support.

4 месяца назад
ifaddr.c

Update copyright for 2026

7 месяцев назад
meson.build

ssl: Serverside SNI support for libpq

5 месяцев назад
pg_hba.conf.sample

Remove RADIUS support.

4 месяца назад
pg_hosts.conf.sample

ssl: Serverside SNI support for libpq

5 месяцев назад
pg_ident.conf.sample

Doc: clarify description of regexp fields in pg_ident.conf.

год назад
pqcomm.c

Fix socket_putmessage_noblock() to call socket_putmessage()

19 дней назад
pqformat.c

Pre-beta mechanical code beautification, step 1: run pgindent.

3 месяца назад
pqmq.c

Undo thinko in commit e78d1d6.

2 месяца назад
pqsignal.c

Update copyright for 2026

7 месяцев назад
README.SSL
src/backend/libpq/README.SSL
 
SSL
===
 
>From the servers perspective:
 
 
Receives StartupPacket
|
|
(Is SSL_NEGOTIATE_CODE?) ----------- Normal startup
| No
|
| Yes
|
|
(Server compiled with USE_SSL?) ------- Send 'N'
| No |
| |
| Yes Normal startup
|
|
Send 'S'
|
|
Establish SSL
|
|
Normal startup
 
 
 
 
 
>From the clients perspective (v6.6 client _with_ SSL):
 
 
Connect
|
|
Send packet with SSL_NEGOTIATE_CODE
|
|
Receive single char ------- 'S' -------- Establish SSL
| |
| '<else>' |
| Normal startup
|
|
Is it 'E' for error ------------------- Retry connection
| Yes without SSL
| No
|
Is it 'N' for normal ------------------- Normal startup
| Yes
|
Fail with unknown
 
---------------------------------------------------------------------------
 
Ephemeral DH
============
 
Since the server static private key ($DataDir/server.key) will
normally be stored unencrypted so that the database backend can
restart automatically, it is important that we select an algorithm
that continues to provide confidentiality even if the attacker has the
server's private key. Ephemeral DH (EDH) keys provide this and more
(Perfect Forward Secrecy aka PFS).
 
N.B., the static private key should still be protected to the largest
extent possible, to minimize the risk of impersonations.
 
Another benefit of EDH is that it allows the backend and clients to
use DSA keys. DSA keys can only provide digital signatures, not
encryption, and are often acceptable in jurisdictions where RSA keys
are unacceptable.
 
The downside to EDH is that it makes it impossible to use ssldump(1)
if there's a problem establishing an SSL session. In this case you'll
need to temporarily disable EDH (see initialize_dh()).