-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
I have found these related issues/pull requests
Description
The current PgConfig
definition seems to mirror quite closely, for TLS, the corresponding options in libpq
: sslmode
, sslrootcert
, sslcert
, sslkey
.
I'm currently trying to build an application that uses a unified TLS policy across all its clients. In particular, a consistent set of trusted root certificates.
I'm struggling to get sqlx
to fit. As far as I understand, these are my options:
- I can specify
sslrootcert
, but this requires me to manually "bundle" all my certs into a single PEM bundle - I can use
tls-rustls-native-roots
to get the certs trusted by the OS (soon viarustls-plaftorm-verifier
)
There is no way for me to say: I want the certs trusted by the OS as well as these other N roots. Something equivalent to Verifier::new_with_extra_roots
.
Prefered solution
I can see various options to solve the problem:
- Move away from mirroring
libpq
when it comes to TLS configuration, using a more expressive set of options for server certificate verification - Allow the user to pass a preconfigured
rustls::Config
(although that'd have semver implications)
and probably others I haven't thought about. But I'd like to first understand if there is an interest in tackling the problem.
Is this a breaking change? Why or why not?
It'd most likely be a breaking change.