Skip to content

build: use BoringSSL (AWS-LC) instead of OpenSSL - #14

Merged
pgit merged 1 commit into
masterfrom
boringssl
Sep 13, 2026
Merged

pgit merged 1 commit into
masterfrom
boringssl

Conversation

@pgit

@pgit pgit commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Link the AWS-LC build the devcontainer installs to /opt/boringssl, together with ngtcp2_crypto_boringssl instead of ngtcp2_crypto_ossl. It is used throughout the process, by Boost.Asio's SSL streams as well as by HTTP/3, so the system OpenSSL is no longer linked at all.

With BoringSSL, ngtcp2 configures QUIC once on the SSL_CTX and takes the SSL itself as the TLS native handle, so Http3Session no longer needs an ngtcp2_crypto_ossl_ctx next to it, nor ngtcp2_crypto_ossl_init(). tls_handshake_info() moves off the OpenSSL 3 only group name APIs.

With a single-threaded server under h2load, AWS-LC needs about 55% less CPU per TLS handshake over TCP (35% over QUIC) and echoes 8-10% more MB/s on all three protocols.

Link the AWS-LC build the devcontainer installs to /opt/boringssl, together with
ngtcp2_crypto_boringssl instead of ngtcp2_crypto_ossl. It is used throughout the
process, by Boost.Asio's SSL streams as well as by HTTP/3, so the system OpenSSL is no
longer linked at all.

With BoringSSL, ngtcp2 configures QUIC once on the SSL_CTX and takes the SSL itself as
the TLS native handle, so Http3Session no longer needs an ngtcp2_crypto_ossl_ctx next to
it, nor ngtcp2_crypto_ossl_init(). tls_handshake_info() moves off the OpenSSL 3 only
group name APIs.

With a single-threaded server under h2load, AWS-LC needs about 55% less CPU per TLS
handshake over TCP (35% over QUIC) and echoes 8-10% more MB/s on all three protocols.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@pgit
pgit merged commit e18f3f1 into master Sep 13, 2026
4 checks passed
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

Successfully merging this pull request may close these issues.

1 participant