HTTPS and HTTP/2 with curl

HTTPS and HTTP/2 with curl

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

本文记录了编译支持 HTTPS 和 HTTP/2 的 curl 开源网络库的细节和踩过的坑。mbedtls 和 nghttp2 是两个主要的依赖库。编译时需配置正确的库路径,并确保输出信息正确。编译 mbedtls 时需指定宏以选择需要的加密算法和特性。

🎯

关键要点

  • 本文记录了编译支持 HTTPS 和 HTTP/2 的 curl 开源网络库的细节和踩过的坑。
  • mbedtls 维护两个主版本:3.x 和 2.x,3.x 版本不再支持 RSA 公私钥加解密的混用。
  • mbedtls 的源码地址为 ARMmbed,相关讨论链接提供了更多信息。
  • nghttp2 的源码地址为 nghttp2,项目官网为 https://nghttp2.org。
  • 编译 nghttp2 时需使用特定的配置命令以确保只构建 libnghttp2。
  • 编译 curl 时需配置依赖库路径,并确保库二进制文件存在。
  • 编译 log 中必须输出特定信息以确认配置正确。
  • 编译 mbedtls 时需指定 MBEDTLS_CONFIG_FILE 宏,并在 mbedtls_config.h 中开启所需的加密算法和特性。
  • 支持 TLS1.2 时需开启相关配置,并在 mbedtls_config.h 中添加 check_config.h 的引用以检查宏定义的依赖。
🏷️

标签

➡️

继续阅读