跳转到正文

加密 Bundle

GitHub

从 4.15.0 版本开始,该插件支持发送加密更新。

创建私钥
npx @capgo/cli key create
创建带有校验和的 bundle zip
npx @capgo/cli bundle zip [appId] --key-v2 --json

本指南中介绍的 --key-v2 flag 使用了带有更强校验和的新加密系统,并且 --json flag 将输出 bundle 信息,包括加密所需的校验和。

使用校验和加密 bundle zip
npx @capgo/cli encrypt [path/to/zip] [checksum]

本指南中介绍的 checksum 参数是第 2 步中 zip 命令生成的 SHA256 校验和。encrypt 命令将返回一个 ivSessionKey 并生成加密校验和。请记得将 ivSessionKey 重命名为 session_key 并放入 update payload 中。

步骤 4:在 update payload 中使用

标题为“Step 4: Use in your update payload”的部分
{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"session_key": "encrypted_session_key",
"checksum": "encrypted_checksum_from_encrypt_command"
}

本指南中介绍的 session_key 是 ivSessionKey 由 encrypt 命令返回的,以及 checksum 是加密过程中生成的加密校验和(而非 zip 命令生成的原始校验和)。

随后,您的应用将能够使用私钥来解密 session_key 并使用解密后的 session_key 来解密更新包。加密校验和可确保 bundle 的完整性验证。

如果你正在使用 加密 Bundle 来规划安全与合规,请结合 使用 @capgo/capacitor-updater 用于“使用 @capgo/capacitor-updater”中的原生能力, 加密 了解 Encryption 的实现细节, 合规性 了解合规部分的实现细节, Capgo 安全扫描器 用于 Capgo Security Scanner 中的产品工作流,以及 Capgo 安全 用于 Capgo Security 中的产品工作流。