Rust in Everything
基于 rustls 0.23.46

导读

这一部分不讲机制,只回答「从哪里读、读哪个版本、代码在哪」。rustls、rustls-webpki、rustls-pki-types 三个仓库各锁一个 tag;全卷沿握手、记录、校验三条主线展开;rustls/src 四万六千多行,四分之三在 crypto/、msgs/、client/、server/ 四个目录里。

  1. 怎么读这一卷:三个 tag 和 rel-0.23 分支;三条主线每一步的函数与讲它的页;实验环境;feature 逐个核对,prefer-post-quantum 隐含 aws_lc_rs,默认 feature 加 ring 会让进程级默认 provider 选不出来(实测 panic 原文);manual/ 和 README 与代码对不上的几处。
  2. 源码地图:cargo tree 核实的依赖图,webpki 和 rustls 用同一个密码学后端;rustls/src 各目录的分工与行数;模块之间的依赖方向;工作区十二个成员各管什么;两个兄弟仓库从哪读起。
flowchart TB
  how[怎么读这一卷] --> map[源码地图]
  how --> ov["01 全景"]
  map --> rec["02 记录层"]
  map --> hs["03 握手"]
  map --> ver["04 证书校验"]

💬 关联讨论

发起讨论
加载中...