重写 AndroidRSA 公钥编码器

提交: 40e603c0 | 2025-07-07 16:21:08+00:00

← 返回列表

重写 AndroidRSA 公钥编码器

Moderate
提交哈希: 40e603c01212af839ff4f095e97e496a122830b6
提交时间: 2025-07-07 16:21:08+00:00
影响等级: Moderate
生成工具: webview2-upstream-sentry
上游审核链接: 查看上游审核 🔗

📋 摘要

本次提交完全重写了 ADB 使用的自定义 RSA 公钥编码器实现。原有的编码器存在严重问题,包括对 ASN.1 字节偏移进行随意索引,在遇到非预期大小的 RSA 密钥时会产生混乱。新实现用 BoringSSL 的 API 替换了自定义的大数运算代码,修复了对 2048 位 RSA 密钥格式的处理,并保持了与现有 ADB 密钥指纹的兼容性。变更涉及删除了 184 行代码,新增了 71 行代码,同时移除了不安全的缓冲区操作相关代码,并新增了更全面的单元测试。

🎯 影响分析

对于终端用户:此变更提升了 Chrome DevTools 通过 ADB 连接 Android 设备时的稳定性和安全性。用户在使用 Chrome DevTools 进行移动端调试时会获得更可靠的连接体验,减少因 RSA 密钥处理错误导致的连接失败。由于保持了密钥指纹兼容性,大多数用户不会遇到重新授权的问题。对于开发者:新实现显著提高了代码的健壮性和可维护性,移除了不安全的缓冲区操作,降低了潜在的安全风险。使用 BoringSSL 标准 API 替代自定义实现使代码更容易理解和维护。更完善的单元测试覆盖了边界情况(如 RSA-1024 和 RSA-4096 密钥),提高了代码质量。开发者在处理 Android 设备调试功能时将面临更少的兼容性问题。

受影响的类:

AndroidRSAPrivateKey AndroidRSAPublicKey AndroidRSASign