Skip to content
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

Default crypto library is aws-lc #8608

Open
davide-baldo opened this issue Nov 7, 2024 · 4 comments
Open

Default crypto library is aws-lc #8608

davide-baldo opened this issue Nov 7, 2024 · 4 comments
Assignees

Comments

@davide-baldo
Copy link
Member

The current default crypto library is aes-gcm since it has a broader compatibility without any additional dependencies, but it's also slower and different from release builds which are built using aws-lc.
The default features in command should switch to aws-lc, and we should print a warning when compiling on a non-supported platform (linux/mac amd64/aarch64), advising the user of the possibility of using rust-crypto or adding the extra dependencies.
Also, the CI will be using the default features rather than manually specifying them in multiple locations.

@davide-baldo davide-baldo self-assigned this Nov 7, 2024
@SanjoDeundiak
Copy link
Member

Ideal case: we use aws-lc by default and automatically switch to `rust-crypto if it's available. Not sure that's possible

@davide-baldo
Copy link
Member Author

davide-baldo commented Nov 7, 2024

Do you mean switching to rust-crypto automatically when aws-lc dependencies are not available?

@SanjoDeundiak
Copy link
Member

Yes

@davide-baldo
Copy link
Member Author

davide-baldo commented Nov 7, 2024

I don't think it would be ideal, having fixed dependencies is a plus for me. Introducing extra complexity and brittleness to better handle uncommon builds (non linux/macos, non amd64/aarch64) is not a worth tradeoff in my view.
In platforms where aws-lc is not fully supported, the user would still have the option of introducing the extra dependencies to build the bindings, and retaining the performance benefits of aws-lc.
If we automatically ""downgrade"" the dependency, the user might never know this was an option, or even worse, it may happen to us after a CI upgrade and we might not even notice it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants