文件
PazeSSH/AGENT.MD
T

2.6 KiB
原始文件 Blame 文件历史

AGENT.md — 接手指南

项目结构

include/paze/        公共头文件(tls.h 对外 API
src/crypto/          密码学原语:哈希/AES/ChaCha20/Poly1305/AEAD/X25519/Ed25519/bignum/RSA/P-256/KDF/ASN.1/X.509
src/ssl/             TLS 1.2+1.3tls_record(记录层) tls_keys(key schedule) tls_extensions(扩展)
                     tls_handshake13/12(状态机) tls_transcript tls_conn(API/生命周期) tls_client/server(入口)
src/ssh/             SSH-2transport/kex/auth/channel/client/server/sftp
src/util/            内存/字节序/错误/日志
apps/                命令行:pazessl / pssh(分发) / 独立命令(pscp/pkeygen/psshd/psftp…)
build/               中间产物(编译)/测试脚本/互操作脚本
bin/                 构建输出(exe)
STATUS.md            完成度总表    AGENT.md 本文件

硬性规则

  1. 目标平台 Los4:不实现 Windows/Linux/macOS 编译目标(当前平台仅作构建宿主)。
  2. 零第三方依赖:仅 ISO C17 + libc;不用 OpenSSL/mbedTLS/GMP;熵来自系统调用。
  3. 结构分层crypto 原语 → ssl/ssh 协议 → apps 命令,协议层不直接依赖应用层。
  4. 常量时间:密码学核心路径禁止密钥相关分支(用 paze_ct_equal 等)。
  5. 编码风格:纯 C、紧凑直接、注释用中文、不做多余抽象层、单文件状态机。
  6. 构建.\build.ps1gcc,C17),产物进 bin/,中间件留 build/
  7. 测试build/run_tls_test.ps1 自测、build/run_openssl_interop.ps1 互操作;改动后必须跑通自测。
  8. Git:中文提交信息;不主动推送,用户要求才推(parlz=gitea、origin=GitHub);无 push 权限/网络问题时如实报告。
  9. 文档:改功能同步更新 STATUS.md;不建多余 .md。

待办(按优先级)

1. 0-RTT / HRR — TLS 1.3 数据路径( 已完成 2026-08-13

  • 服务端:CH 无 key_share → 发 HRRrandom=魔数 CF21AD74...F84A4F)→ 等 CH2;sent_hrr 标记
  • 客户端:识别 HRR 魔数 → paze_tls_tr_reset_to_synthetic → 生成 CH2(仅选定组 share)→ 放弃 0-RTT
  • 0-RTT:客户端 CH 带 early_data 扩展 + 发 early 数据(early_write);服务端解密(early_read);EndOfEarlyData 用 client_early_traffic_secret
  • 验证:pazessl s_client -early -sess_in ... / s_server -early 端到端通过(同进程会话复用);-key_share P-256 触发 HRR 通过

2. TLS secp384r1

实现 P-384 点运算(bignum 已有),加曲线 + 套件,中等偏繁。

3. SSH ProxyJump

客户端连接管理(经跳板机转发),中等。