|
131 | 131 |
|
132 | 132 | switch_server_cert($node, 'server-cn-only');
|
133 | 133 |
|
| 134 | +# Set of default settings for SSL parameters in connection string. This |
| 135 | +# makes the tests protected against any defaults the environment may have |
| 136 | +# in ~/.postgresql/. |
| 137 | +my $default_ssl_connstr = "sslkey=invalid sslcert=invalid sslrootcert=invalid sslcrl=invalid"; |
| 138 | + |
134 | 139 | $common_connstr =
|
135 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid hostaddr=$SERVERHOSTADDR host=common-name.pg-ssltest.test"; |
| 140 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb hostaddr=$SERVERHOSTADDR host=common-name.pg-ssltest.test"; |
136 | 141 |
|
137 | 142 | # The server should not accept non-SSL connections.
|
138 | 143 | test_connect_fails(
|
|
224 | 229 | # Check that connecting with verify-full fails, when the hostname doesn't
|
225 | 230 | # match the hostname in the server's certificate.
|
226 | 231 | $common_connstr =
|
227 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
| 232 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
228 | 233 |
|
229 | 234 | test_connect_ok(
|
230 | 235 | $common_connstr,
|
|
244 | 249 | switch_server_cert($node, 'server-multiple-alt-names');
|
245 | 250 |
|
246 | 251 | $common_connstr =
|
247 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
| 252 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
248 | 253 |
|
249 | 254 | test_connect_ok(
|
250 | 255 | $common_connstr,
|
|
275 | 280 | switch_server_cert($node, 'server-single-alt-name');
|
276 | 281 |
|
277 | 282 | $common_connstr =
|
278 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
| 283 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
279 | 284 |
|
280 | 285 | test_connect_ok(
|
281 | 286 | $common_connstr,
|
|
299 | 304 | switch_server_cert($node, 'server-cn-and-alt-names');
|
300 | 305 |
|
301 | 306 | $common_connstr =
|
302 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
| 307 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR sslmode=verify-full"; |
303 | 308 |
|
304 | 309 | test_connect_ok(
|
305 | 310 | $common_connstr,
|
|
319 | 324 | # not a very sensible certificate, but libpq should handle it gracefully.
|
320 | 325 | switch_server_cert($node, 'server-no-names');
|
321 | 326 | $common_connstr =
|
322 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
| 327 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
323 | 328 |
|
324 | 329 | test_connect_ok(
|
325 | 330 | $common_connstr,
|
|
335 | 340 | switch_server_cert($node, 'server-revoked');
|
336 | 341 |
|
337 | 342 | $common_connstr =
|
338 |
| - "user=ssltestuser dbname=trustdb sslcert=invalid hostaddr=$SERVERHOSTADDR host=common-name.pg-ssltest.test"; |
| 343 | + "$default_ssl_connstr user=ssltestuser dbname=trustdb hostaddr=$SERVERHOSTADDR host=common-name.pg-ssltest.test"; |
339 | 344 |
|
340 | 345 | # Without the CRL, succeeds. With it, fails.
|
341 | 346 | test_connect_ok(
|
|
390 | 395 | note "running server tests";
|
391 | 396 |
|
392 | 397 | $common_connstr =
|
393 |
| - "sslrootcert=ssl/root+server_ca.crt sslmode=require dbname=certdb hostaddr=$SERVERHOSTADDR"; |
| 398 | + "$default_ssl_connstr sslrootcert=ssl/root+server_ca.crt sslmode=require dbname=certdb hostaddr=$SERVERHOSTADDR"; |
394 | 399 |
|
395 | 400 | # no client cert
|
396 | 401 | test_connect_fails(
|
|
510 | 515 | # works, iff username matches Common Name
|
511 | 516 | # fails, iff username doesn't match Common Name.
|
512 | 517 | $common_connstr =
|
513 |
| - "sslrootcert=ssl/root+server_ca.crt sslmode=require dbname=verifydb hostaddr=$SERVERHOSTADDR"; |
| 518 | + "$default_ssl_connstr sslrootcert=ssl/root+server_ca.crt sslmode=require dbname=verifydb hostaddr=$SERVERHOSTADDR"; |
514 | 519 |
|
515 | 520 | test_connect_ok(
|
516 | 521 | $common_connstr,
|
|
536 | 541 | # intermediate client_ca.crt is provided by client, and isn't in server's ssl_ca_file
|
537 | 542 | switch_server_cert($node, 'server-cn-only', 'root_ca');
|
538 | 543 | $common_connstr =
|
539 |
| - "user=ssltestuser dbname=certdb sslkey=ssl/client_tmp.key sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
| 544 | + "$default_ssl_connstr user=ssltestuser dbname=certdb sslkey=ssl/client_tmp.key sslrootcert=ssl/root+server_ca.crt hostaddr=$SERVERHOSTADDR"; |
540 | 545 |
|
541 | 546 | test_connect_ok(
|
542 | 547 | $common_connstr,
|
|
0 commit comments