feat(mysql): add mysql-rsa feature for non-TLS RSA auth#4142
feat(mysql): add mysql-rsa feature for non-TLS RSA auth#4142dertin wants to merge 1 commit intolaunchbadge:mainfrom
Conversation
|
Hi @abonander This PR adds two MySQL RSA auth backend features:
On the TLS side, this PR adds If you'd prefer a different feature layout or naming, I'm happy to adjust. |
|
I don't want to add a bunch more TLS features going forward. It just doesn't scale. We can have a couple of TLS features targeted for convenience, and then anything else, especially with RusTLS, should just require a custom We've also learned the hard way that mutually exclusive features are a bad idea. The The thing about this refactor is, if you or your organization cares enough about security to be using a FIPS certified module, your configuration probably doesn't allow for falling back to RSA here anyway. This is because RSA is only used to encrypt the password when sending it over a non-TLS connection, otherwise it's sent without any encapsulation (as it's encrypted by TLS anyway). I think the only thing that really needs to be done here is allowing the Also, I don't know if you noticed this, but there's several other RustCrypto crates being used there: |
2783ae1 to
a82e420
Compare
|
Hi @abonander, Thanks for the detailed feedback. I’ve reworked the PR accordingly:
Could you take another look and let me know whether this aligns with what you had in mind, or if you’d prefer any further changes before we merge? |
Does your PR solve an issue?
fixes #4081
#4082Is this a breaking change?
Potentially. Public APIs are unchanged, but
mysqlno longer pulls RSA by default.Non-TLS MySQL auth that relies on RSA now requires the
mysql-rsafeature.CI/scripts that connect with
ssl-mode=disabledmust enablemysql-rsa.Summary
mysql-rsato avoid unused RSA deps and audit noise when TLS is enabled.