文件
PazeSSH/STATUS.md
T
JGZYES 3e8a5442fa 实现 TLS 1.3 PSK 会话恢复,构建输出移至 bin/ 并新增 standalone/psftp 命令
TLS 1.3 PSK 会话恢复: NewSessionTicket 签发/解析、ticket+binder 校验、selected_identity 回选、恢复握手免证书(pazessl -sess_in/-sess_out 端到端验证); 构建脚本输出 bin/ 并支持独立命令与 psftp; 修复 SFTP 二进制传输与 copy_id -P; 补充 tests/ 调试与 verify_tls
2026-08-13 19:30:07 +08:00

3.8 KiB
原始文件 Blame 文件历史

STATUS — 项目完成度

PazeSSL / PazeSSH:从零实现、仅依赖 libc 的 OpenSSL / OpenSSH 平替(纯 C, ISO C17)。 按层推进,本文件汇总当前各层完成度(2026-08-13 更新)。

总体

模块 状态
原语层 src/crypto — 哈希/对称/非对称/编码/ASN.1/X.509 完整实现
协议层 src/ssl — TLS 1.2 / 1.3 TLS 1.2 + 1.3 完整实现(含版本回退与 OpenSSL 互操作验证)
协议层 src/ssh — SSH-2 transport/kex/auth/channel + SFTP 完整实现
应用层 apps/* — 11 个 CLI 可用
测试 tests/* 已从仓库移除(KAT 本地化)

密码学原语( 完整)

  • 哈希:SHA-1 / SHA-256 / SHA-512 / MD5 / HMAC / HKDF / PBKDF2
  • 对称:AES-128/192/256、AES-CBC/GCM、ChaCha20、Poly1305、ChaCha20-Poly1305 AEAD
  • 曲线:X25519、Ed25519、P-256、ECDSA(大数运算自研:模幂、模逆、Montgomery)
  • 非对称:RSA(密钥生成/加解密/签名)、X.509 证书解析与构建、PEM/DER 编解码
  • 其他:ASN.1 DER、base64、hex、常量时间准则

PazeSSL — TLS🔶 部分完成)

  • TLS 1.3 客户端/服务端状态机(record、handshake、key schedule、扩展)
  • TLS 1.3 PSK 会话恢复RFC 8446 §4.2.11 / §4.6.1):NewSessionTicket 签发与解析、ticket+binder 校验、selected_identity 回选、恢复握手跳过证书;pazessl -sess_in/-sess_out 端到端验证通过
  • TLS 1.2 客户端/服务端状态机 + 1.3↔1.2 版本回退(ECDHE-RSA/ECDSA/RSA AES-GCM、CHACHA20-POLY1305
  • OpenSSL 互操作对测 4/4s_server↔s_client 双向 TLS 1.3 / TLS 1.2build/run_openssl_interop.ps1
  • 证书链与信任锚加载、RSA/ECDSA 私钥 PEM 解析
  • TLS 1.3 服务端 SHA-384 密码套件握手重放(SHA-256 已覆盖)
  • 0-RTT / HRR 数据路径

PazeSSH — SSH-2 完成)

  • transport:版本交换、密钥交换(curve25519-sha256)、NEWKEYS、包加密
  • 认证:password / publickeyauthorized_keys 校验)
  • 通道:sessionexec/shell 真实进程执行)、direct-tcpip(出站桥接)
  • SFTP 子系统 v3OPEN/READ/WRITE/OPENDIR/READDIR/STAT/REALPATH 等,与 OpenSSH sftp / scp -s 互操作(Git OpenSSH 实测通过)
  • 客户端命令:
    • pssh ssh — 远程 shell / 执行命令,-L/-R/-D 端口转发
    • pssh scp — SFTP 优先(OpenSSH 9.x 默认),回退 legacy SCP;-r 递归、-p 保留时间戳
    • pssh keygen / keyscan / copy-id — 密钥工具
    • pssh agent / add / ssha — agent 守护进程与密钥管理
    • pssh sshd — 服务端:多用户库 + 分级权限 + publickey 认证 + SFTP 子系统
  • 密码套件:chacha20-poly1305@openssh.comaes128/256-gcm@openssh.com

应用( 可用)

命令 说明
pssh SSH 工具集入口(ssh/scp/sshd/keygen/keyscan/copy-id/agent/add/useradd
pazessl 类 openssl 命令行(s_client/s_server/verify/genrsa/req/x509
pssh useradd 管理 sshd 用户库(用户名:哈希:权限)

与 OpenSSH 对比

OpenSSH PazeSSH 说明
ssh pssh / pssh ssh 远程 shell / 执行命令 / 端口转发
scp pssh scp SFTP 优先 + legacy SCP 回退
sftp pssh sshd 子系统 服务端 SFTP v3,互操作通过
ssh-keygen pssh keygen ed25519/rsa/ecdsa
ssh-keyscan pssh keyscan known_hosts 格式
ssh-copy-id pssh copy-id 安装公钥
ssh-agent / ssh-add pssh agent / add agent 密钥管理
sshd pssh sshd 多用户 + 权限 + 公钥认证 + SFTP

遗留项(已知)

  • X.509 ECDSA 证书解析仍失败(P-256 曲线点验证)
  • TLS 1.3 SHA-384 服务端握手重放、0-RTT / HRR 未覆盖