- Notifications
You must be signed in to change notification settings - Fork4.9k
Commit36f40ce
committed
libpq: Add sslcertmode option to control client certificates
The sslcertmode option controls whether the server is allowed and/orrequired to request a certificate from the client. There are threemodes:- "allow" is the default and follows the current behavior, where aconfigured client certificate is sent if the server requests one(via one of its default locations or sslcert). With the currentimplementation, will happen whenever TLS is negotiated.- "disable" causes the client to refuse to send a client certificateeven if sslcert is configured or if a client certificate is available inone of its default locations.- "require" causes the client to fail if a client certificate is neversent and the server opens a connection anyway. This doesn't add anyadditional security, since there is no guarantee that the server isvalidating the certificate correctly, but it may helpful to troubleshootmore complicated TLS setups.sslcertmode=require requires SSL_CTX_set_cert_cb(), available sinceOpenSSL 1.0.2. Note that LibreSSL does not include it.Using a connection parameter different than require_auth has come up asthe simplest design because certificate authentication does not relydirectly on any of the AUTH_REQ_* codes, and one may want to require acertificate to be sent in combination of a given authentication method,like SCRAM-SHA-256.TAP tests are added in src/test/ssl/, some of them relying on sslinfo tocheck if a certificate has been set. These are compatible across allthe versions of OpenSSL supported on HEAD (currently down to 1.0.1).Author: Jacob ChampionReviewed-by: Aleksander Alekseev, Peter Eisentraut, David G. Johnston,Michael PaquierDiscussion:https://postgr.es/m/9e5a8ccddb8355ea9fa4b75a1e3a9edc88a70cd3.camel@vmware.com1 parente522049 commit36f40ce
File tree
12 files changed
+270
-9
lines changed- doc/src/sgml
- src
- include
- interfaces/libpq
- test/ssl/t
- tools/msvc
12 files changed
+270
-9
lines changedLines changed: 7 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
12973 | 12973 |
| |
12974 | 12974 |
| |
12975 | 12975 |
| |
12976 |
| - | |
12977 |
| - | |
| 12976 | + | |
| 12977 | + | |
| 12978 | + | |
12978 | 12979 |
| |
12979 |
| - | |
12980 |
| - | |
| 12980 | + | |
| 12981 | + | |
| 12982 | + | |
12981 | 12983 |
| |
12982 |
| - | |
| 12984 | + | |
12983 | 12985 |
| |
12984 | 12986 |
| |
12985 | 12987 |
| |
|
Lines changed: 3 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1373 | 1373 |
| |
1374 | 1374 |
| |
1375 | 1375 |
| |
1376 |
| - | |
1377 |
| - | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
1378 | 1379 |
| |
1379 | 1380 |
| |
1380 | 1381 |
| |
|
Lines changed: 66 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1810 | 1810 |
| |
1811 | 1811 |
| |
1812 | 1812 |
| |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
1813 | 1869 |
| |
1814 | 1870 |
| |
1815 | 1871 |
| |
| |||
7986 | 8042 |
| |
7987 | 8043 |
| |
7988 | 8044 |
| |
| 8045 | + | |
| 8046 | + | |
| 8047 | + | |
| 8048 | + | |
| 8049 | + | |
| 8050 | + | |
| 8051 | + | |
| 8052 | + | |
| 8053 | + | |
| 8054 | + | |
7989 | 8055 |
| |
7990 | 8056 |
| |
7991 | 8057 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1221 | 1221 |
| |
1222 | 1222 |
| |
1223 | 1223 |
| |
1224 |
| - | |
| 1224 | + | |
1225 | 1225 |
| |
| 1226 | + | |
1226 | 1227 |
| |
1227 | 1228 |
| |
1228 | 1229 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
394 | 394 |
| |
395 | 395 |
| |
396 | 396 |
| |
| 397 | + | |
| 398 | + | |
| 399 | + | |
397 | 400 |
| |
398 | 401 |
| |
399 | 402 |
| |
|
Lines changed: 19 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
798 | 798 |
| |
799 | 799 |
| |
800 | 800 |
| |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
801 | 820 |
| |
802 | 821 |
| |
803 | 822 |
| |
|
Lines changed: 53 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
125 | 125 |
| |
126 | 126 |
| |
127 | 127 |
| |
| 128 | + | |
128 | 129 |
| |
129 | 130 |
| |
| 131 | + | |
130 | 132 |
| |
131 | 133 |
| |
132 | 134 |
| |
| |||
283 | 285 |
| |
284 | 286 |
| |
285 | 287 |
| |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
286 | 292 |
| |
287 | 293 |
| |
288 | 294 |
| |
| |||
1506 | 1512 |
| |
1507 | 1513 |
| |
1508 | 1514 |
| |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
1509 | 1561 |
| |
1510 | 1562 |
| |
1511 | 1563 |
| |
| |||
4238 | 4290 |
| |
4239 | 4291 |
| |
4240 | 4292 |
| |
| 4293 | + | |
4241 | 4294 |
| |
4242 | 4295 |
| |
4243 | 4296 |
| |
|
Lines changed: 39 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
462 | 462 |
| |
463 | 463 |
| |
464 | 464 |
| |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
465 | 493 |
| |
466 | 494 |
| |
467 | 495 |
| |
| |||
953 | 981 |
| |
954 | 982 |
| |
955 | 983 |
| |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
956 | 989 |
| |
957 | 990 |
| |
958 | 991 |
| |
| |||
1107 | 1140 |
| |
1108 | 1141 |
| |
1109 | 1142 |
| |
1110 |
| - | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
1111 | 1149 |
| |
1112 | 1150 |
| |
1113 | 1151 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
384 | 384 |
| |
385 | 385 |
| |
386 | 386 |
| |
| 387 | + | |
387 | 388 |
| |
388 | 389 |
| |
389 | 390 |
| |
| |||
527 | 528 |
| |
528 | 529 |
| |
529 | 530 |
| |
| 531 | + | |
| 532 | + | |
530 | 533 |
| |
531 | 534 |
| |
532 | 535 |
| |
|
Lines changed: 42 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
42 | 42 |
| |
43 | 43 |
| |
44 | 44 |
| |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
45 | 49 |
| |
46 | 50 |
| |
47 | 51 |
| |
| |||
191 | 195 |
| |
192 | 196 |
| |
193 | 197 |
| |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
194 | 214 |
| |
195 | 215 |
| |
196 | 216 |
| |
| |||
538 | 558 |
| |
539 | 559 |
| |
540 | 560 |
| |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
541 | 583 |
| |
542 | 584 |
| |
543 | 585 |
| |
|
0 commit comments
Comments
(0)