-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for aws_lc_rs
as crypto backend
#201
Conversation
Given that Cargo features are supposed to be additive, I'm not a fan of this:
I would suggest just picking ring in that case, or providing explicit access to a crypto provider via some kind of trait (not sure how invasive that would be to the API). |
b2860b2
to
f16d534
Compare
I was hoping the aws-lc-rs backend would unblock RSA key generation support, but it looks as though there's upstream work required. I've filed a feature req: aws/aws-lc-rs#296 |
Fixed, CI still fails also because some |
compile_error is fine in that case, tests should be changed to either specify |
Maybe the name can be bikeshedded but otherwise this is fine to go. |
914584d
to
8883c41
Compare
Codecoverage test fails but I think it is not fair :) |
Yup! The flagged lines are missing coverage on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking this on 🚀
I think it would be interesting to consider how the KeyPair
APIs might need to change to allow runtime selection of the backing crypto library but it might make sense to hash that out in a follow-up issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing to add to @cpu's feedback, nice work!
92c24b5
to
5b668a8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for iterating on this. There's just one last thing to fix:
The Windows CI task fails right now with the aws-lc-rs
backend feature because it needs nasm
as a build time dependency on that OS. Could you add something like this to the relevant bit of CI?
There's an upstream issue that I hope will let us remove this in the future.
5b668a8
to
fbfe0bf
Compare
Thanks! |
Starting from 0.22.0,
rustls
, ecosystem has started supportingaws-lc-rs
as crypto back-end. This latter replaces crypto functionalities provided byring
.The main reason behind this is to provide FIPS compliance in the future via
aws-lc
:This PR is implementing the same supporting mechanism.
In short:
compile_error!EDIT: ring