You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for building with AWS Libcrypto (AWS-LC) (#929)
Hello,
I'm an engineer at AWS working on AWS-LC, AWS's open-source fork of
Google's BoringSSL. We would like to propose adding AWS-LC support to
netty-tcnative, alongside its existing support for OpenSSL, BoringSSL,
and LibreSSL.
AWS-LC shares a similar API surface area to the existing BoringSSL
integration within your library, while providing additional benefits for
users.
We are committed to backwards compatibility and maintain extensive CI
testing infrastructure that continuously validates compatibility with
many open-source projects.
We plan to add netty-tcnative compatibility testing to this suite to
ensure ongoing compatibility.
Some of the highlights offered by this integration:
1. Performance optimizations specifically targeted for modern CPU
architectures, including AWS Graviton processors, and Intel x86-64 with
AVX-512 instructions
2. Formal verification of critical cryptographic primitives, with
ongoing investment in expanding verification coverage.
3. FIPS 140-3 compliance support through a dedicated FIPS build mode.
Given netty-tcnative's existing support for BoringSSL, integrating
AWS-LC is relatively straightforward.
This integration would provide netty users with a well-supported path to
leverage AWS-LC's improvements in performance, security,
and compliance without requiring them to maintain custom patches or
modifications.
The this integration supports all current netty-tcnative functionality
that is supported for the BoringSSL integration.
Currently this pull request targets users who build the netty-tcnative
JARs themselves following the [How to build
](https://netty.io/wiki/forked-tomcat-native.html#how-to-build)
instructions. This would allow users wanting to use AWS-LC to do so
successfully.
At this time I don't see an explicit need to offer static compilations
of AWS-LC bundled in a jar file (similar to the BoringSSL integration).
I noticed
that the current LibreSSL static build is not published, so I wasn't
sure if maintaining these static variants is a goal in the long-term,
but would be open
to discuss further if you'd like.
Once this PR is merged in I can publish the corresponding PR to netty to
make necessary adjustments there for the netty-tcnative with aws-lc
integration to work as expected and have additional testing as
necessary.
---------
Co-authored-by: Norman Maurer <norman_maurer@apple.com>
0 commit comments