RPRX 评 Xray-core 的 MASQUE WARP 支持 PR:认证信息宜置传输层,证书校验仅 pin 公钥未验签名

在 Xray-core PR #6878(CluvexStudio,MASQUE: Support WARP,开放未合并)的评审中,RPRX 就 WARP 支持的实现提出:认证信息填在传输层,他查看后认为 Hy2 客户端实现也是这样,而入站的认证填在代理层方便 API;支持 WARP 显然仅客户端。关于客户端发送证书,他认为 WARP 这个特征有点扎眼,并问相关代码是否会让 uTLS 有独特逻辑。特地查看验证服务端证书的代码后,他提出:pin 完公钥之后是否不再验证 signature,而自定义的 VerifyPeerCertificate 并非一定有。他还认为这相当于强制 pin 公钥、已证实服务端身份,似乎没必要再叠上 pcs/vcn。

作者原文

认证信息填传输层,好吧看了下 Hy2 客户端实现也是这样,而入站的认证填在代理层方便 API,然而支持 WARP 显然仅客户端

不清楚 Cloudflare 现在的政策,不过确实其它仓库明确写 WARP 字样都没事,且有没有这个字样都改变不了 WARP 专用的事实

关于客户端发送证书,感觉 WARP 这特征有点扎眼了,而且你这代码咋像是 uTLS 会有独特的逻辑?另外想到了 https://github.com/XTLS/Xray-core/pull/6354

特地看了下验证服务端证书的代码,你这 pin 完公钥不验证 signature 什么的吗?自定义的 VerifyPeerCertificate 又不是一定有

况且这个相当于强制 pin 公钥了,已证实服务端身份,似乎没必要再去叠上 pcs/vcn 了吧,也不清楚 CF 发来的证书是什么样的