Skip to content

build: use rustls instead of OpenSSL for HTTPS - #1161

Merged
tontinton merged 1 commit into
tontinton:mainfrom
FalkWoldmann:rustls-tls
Oct 5, 2026
Merged

tontinton merged 1 commit into
tontinton:mainfrom
FalkWoldmann:rustls-tls

Conversation

@FalkWoldmann

Copy link
Copy Markdown
Collaborator

isahc 2 already defaults to rustls, we were opting out of it with native-tls-static. Switching back drops OpenSSL from the build, so OPENSSL_NO_VENDOR and perl go away, and certificates get checked by the OS through rustls-platform-verifier, so a CA in the macOS keychain should just work (#1016). ca_file and SSL_CERT_FILE behave the same as before. Related to #1100, but keeps isahc and smol.

Clean builds of maki, M3 Pro, average of 2 runs:

dev CPU dev wall release CPU release wall stripped binary
main, vendored OpenSSL 502 s 122 s 1183 s 179 s 89.6 MB
main, OPENSSL_NO_VENDOR 373 s 78 s 1025 s 139 s 85.5 MB
rustls 411 s 88 s 1088 s 156 s 88.2 MB

Tested on macOS and in an Alpine musl build. I haven't tried Windows, the Nix flake, or a keychain-only CA yet.

I used Claude Code for the benchmarks and TLS checks and reviewed the result myself.

@tontinton
tontinton merged commit 65e0d56 into tontinton:main Oct 5, 2026
11 checks passed
@FalkWoldmann
FalkWoldmann deleted the rustls-tls branch October 5, 2026 18:54
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.

2 participants