README.SSL
1src/backend/libpq/README.SSL
2
3SSL
4===
5
6>From the servers perspective:
7
8
9 Receives StartupPacket
10 |
11 |
12 (Is SSL_NEGOTIATE_CODE?) ----------- Normal startup
13 | No
14 |
15 | Yes
16 |
17 |
18 (Server compiled with USE_SSL?) ------- Send 'N'
19 | No |
20 | |
21 | Yes Normal startup
22 |
23 |
24 Send 'S'
25 |
26 |
27 Establish SSL
28 |
29 |
30 Normal startup
31
32
33
34
35
36>From the clients perspective (v6.6 client _with_ SSL):
37
38
39 Connect
40 |
41 |
42 Send packet with SSL_NEGOTIATE_CODE
43 |
44 |
45 Receive single char ------- 'S' -------- Establish SSL
46 | |
47 | '<else>' |
48 | Normal startup
49 |
50 |
51 Is it 'E' for error ------------------- Retry connection
52 | Yes without SSL
53 | No
54 |
55 Is it 'N' for normal ------------------- Normal startup
56 | Yes
57 |
58 Fail with unknown
59
60---------------------------------------------------------------------------
61