拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何验证 scrcpy 发布包的 GPG 签名与 SHA-256 校验和

如何验证 scrcpy 发布包的 GPG 签名与 SHA-256 校验和【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy当你从官方渠道下载了 scrcpy 的发布包如scrcpy-linux-x86_64-v3.3.4.tar.gz、scrcpy-win64-v3.3.4.zip或scrcpy-server-v3.3.4需要确认这些文件确实由官方签名、且传输过程未被篡改。scrcpy 的所有发布都使用 Romain Vimont 的 GPG 密钥签名见 verify-release 文档每个发布版本还会附带两个校验文件SHA256SUMS.txtSHA-256 校验和清单和SHA256SUMS.txt.asc对这份清单的签名。本文的目标是完成一条完整的验证链路先验证SHA256SUMS.txt.asc的 GPG 签名再用SHA256SUMS.txt核对发布文件的 SHA-256 值。前提条件已安装gpg和curl导入公钥与验证签名都依赖它们。已从官方发布页下载了某个版本的 scrcpy 发布文件以及同版本的SHA256SUMS.txt与SHA256SUMS.txt.asc。注意README 明确指出本仓库是 scrcpy 的唯一官方来源不要从名称含scrcpy的随机网站下载发布包。验证签名正是确认包来源可信的手段之一。第一步导入签名公钥并核对指纹scrcpy 使用的主密钥指纹为456958E85A185DD5C2D1E4E80C822B298461FA03RSA 40962021-03-15 创建uid 为Romain Vimont romrom1v.com。方式一从 Romain Vimont 的博客拉取原始公钥并导入# 导入公钥 curl -s https://blog.rom1v.com/keys/rom1v.asc | gpg --import # 核对公钥指纹 gpg --fingerprint 456958E85A185DD5C2D1E4E80C822B298461FA03方式二可选替代路径直接从公钥服务器获取gpg --keyserver hkps://keys.openpgp.org --recv-keys 456958E85A185DD5C2D1E4E80C822B298461FA03 gpg --fingerprint 456958E85A185DD5C2D1E4E80C822B298461FA03导入后用gpg --show-keys查看本地公钥确认指纹与文档中列出的主密钥及子密钥一致curl -s https://blog.rom1v.com/keys/rom1v.asc | gpg --show-keys --with-fingerprint --with-subkey-fingerprints文档给出的示例输出文档示例来自 verify-release 文档pub rsa4096 2021-03-15 [C] 4569 58E8 5A18 5DD5 C2D1 E4E8 0C82 2B29 8461 FA03 uid Romain Vimont romrom1v.com sub rsa4096 2021-03-15 [S] [expires: 2030-05-14] E39E 2DE6 A55F 5AA6 D8EF B79A CA01 F46F 1868 3B3D sub rsa4096 2021-03-15 [E] [expires: 2030-05-14] 2C86 255E 6D65 241D 8248 F1B3 F212 10AE 292B 63D1 sub rsa4096 2021-03-15 [A] [expires: 2030-05-14] 1782 0F23 CB1D 1921 5572 6FAD 0F0B 58E1 3784 09AA确认4569 58E8 5A18 5DD5 C2D1 E4E8 0C82 2B29 8461 FA03与预期主密钥指纹一致再进行下一步。第二步验证校验和文件的 GPG 签名SHA256SUMS.txt.asc是对SHA256SUMS.txt的签名。验证前必须把SHA256SUMS.txt放在与.asc文件相同的目录下gpg 默认假设被签名数据文件与签名文件同名且同目录。# SHA256SUMS.txt 必须与 .asc 文件在同一目录 gpg --verify SHA256SUMS.txt.asc文档给出的成功示例输出文档示例v3.3.4 发布$ gpg --verify SHA256SUMS.txt.asc gpg: assuming signed data in SHA256SUMS.txt gpg: Signature made Wed Dec 17 20:16:30 2025 CET gpg: using RSA key E39E2DE6A55F5AA6D8EFB79ACA01F46F18683B3D gpg: Good signature from Romain Vimont romrom1v.com [ultimate]看到Good signature from Romain Vimont romrom1v.com说明清单文件本身来自官方且未被改动。这里的签名子密钥E39E2DE6A55F5AA6D8EFB79ACA01F46F18683B3D属于 [S]签名子密钥与第一步列出的子密钥一致。第三步用 SHA-256 核对发布文件签名验证通过后用SHA256SUMS.txt逐一核对发布文件。前提是所有发布文件如scrcpy-linux-x86_64-v3.3.4.tar.gz、scrcpy-win64-v3.3.4.zip、scrcpy-server-v3.3.4等必须与SHA256SUMS.txt位于同一目录。# 发布文件必须与 SHA256SUMS.txt 在同一目录 shasum -a 256 -c SHA256SUMS.txt文档给出的成功示例输出文档示例v3.3.4 发布$ shasum -a 256 -c SHA256SUMS.txt scrcpy-server-v3.3.4: OK scrcpy-linux-x86_64-v3.3.4.tar.gz: OK scrcpy-win32-v3.3.4.zip: OK scrcpy-win64-v3.3.4.zip: OK scrcpy-macos-aarch64-v3.3.4.tar.gz: OK scrcpy-macos-x86_64-v3.3.4.tar.gz: OK每一行末尾出现OK表示对应文件的 SHA-256 值与清单匹配。清单中列出的文件是官方发布时通过 generate_checksums.sh 用sha256sum生成的对应scrcpy-server、Linux x86_64、Windows win32/win64、macOS aarch64/x86_64 等产物。结果判断与限制只有当第二步显示Good signature且第三步所有列出的文件都显示OK时才能认为该发布包通过验证。第三步只核对清单里列出的文件如果某个文件不在SHA256SUMS.txt中该命令不会为它输出结果请确认你下载的文件确属该版本官方产物。本文所有示例输出含日期Wed Dec 17 20:16:30 2025 CET与 v3.3.4 文件名均为文档中的示例结果用于说明判断依据不同发布版本的文件名与签名时间会不同不要将其当作固定值。shasum -a 256 -c是文档给出的校验命令若你的环境使用sha256sum可用其-c SHA256SUMS.txt形式完成同一核对本仓库的 install_release.sh 中即使用sha256sum --check做校验和检查。完成以上三步后发布包的 GPG 签名与 SHA-256 校验和均已验证通过。更多发布与签名背景可参阅 doc/verify-release.md。【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门