主要观点:curl 可使用 11 种不同的 TLS 库构建,其中 6 种是 OpenSSL 或其分支。介绍了 SSLeay、OpenSSL、LibreSSL、BoringSSL、AmiSSL、QuicTLS 和 AWS-LC 等 TLS 库的起源、特点及与 curl 的适配情况。
关键信息:
- 1998 年 spring 用 SSLeay 实现 curl 的首个 HTTPS 支持,后 SSLeay 被弃,OpenSSL 从其灰烬中创建并被 curl 支持。
- LibreSSL 因 Heartbleed 事件创建,在 QUIC 等方面表现不佳。
- BoringSSL 由 Google 在 Heartbleed 期间创建,在新 TLS 发明方面领先。
- AmiSSL 是为 AmigaOS 构建的 OpenSSL 分支。
- QuicTLS 因 OpenSSL 拒绝提供 QUIC API 而创建。
- AWS-LC 是由 Amazon 维护的 BoringSSL 分支,性能表现出色。
重要细节: - OpenSSL API 大且文档稀疏,使用中常有问题,自 3 版本后被批评性能下降。
- LibreSSL 构建有本地补丁,在 QUIC 等方面落后。
- BoringSSL 清理了原型和变量类型,引领 QUIC API 推动。
- AWS-LC 频繁发布,性能优于 OpenSSL,API 与 BoringSSL 不同。
- 各分支有各自特点和版本变化,curl 用相同源代码并在 CI 中验证构建,需关注分支逐渐分离的情况。未来难以预测,需等待观察。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。