1

我已经开始制作 android 应用程序,我想把它做成一个 APK 文件。这样做时,我检查了 android 文档,他们谈到了 jarsigner 和 zipalign。我想知道这些做什么以及为什么我需要它们。另外,为什么您需要公钥和私钥,它们是做什么的?如果有人得到它们,为什么它们会如此危险?

4

3 回答 3

1

密钥商店是确保您是唯一为您的应用发布更新的用户。当您签署您的应用程序并将其发布到 Google Play 时,您需要确保备份您的密钥库,因为它们不可重新创建,并且如果您丢失了您的密钥库,那么您将无法发布更新。Jarsigner 只是您用来“签署”您的应用程序的工具,而 zipalign 是您的应用程序的优化,与您的密钥库无关(据我所知)

于 2013-01-01T21:52:27.967 回答
0

如果您签署文件(或任何其他数据,如 WLAN 数据),则没有人能够修改它们(因为他们无法重新签署文件)。所以这些签名文件告诉每个人你是制作它们的人。

公钥用于验证您是签署文件或数据的人。但是无法对文件进行签名(仅用于检查)。

这一切都很好(而且安全),除非他们有你的私钥,那么他们也可以在假装他们是你的同时签署文件。因此,他们可以在没有任何人注意的情况下将讨厌的病毒放入您的应用程序中。因此,当您丢失私钥时,这将是一场灾难。

公钥和私钥(以及使用它们的加密技术)不是特定于 android 的,它们用于所有安全通信、数据存储、电子邮件等。

有关更多信息,请查看此页面和/或在 Internet 上查找“公钥/私钥”。

于 2013-01-01T21:55:09.397 回答
0

您签署您的应用程序以证明您是该应用程序的唯一发布者。

你真的不需要担心密钥的细节,如果你使用标准的 Android 开发工具 (ADT),有一个向导会引导你创建一个用于发布应用程序的密钥

使用工具导出:右键单击您的项目 --> Android 工具 --> 导出签名的应用 点击下一步,然后第二个屏幕将允许您“创建新密钥”。选择它,您可以创建所需的一切。

您将需要此密钥才能发布(即使您没有将其放入 Play Market,您仍然需要签署一个 App 才能在任何设备上运行它)。

如果您确实发布到 Play Market,并且丢失了您的密钥库(或密码) - 您将无法更新该应用程序。永远,你无能为力。把它保存在某个地方。

有人会同时需要密钥库文件和用于签署您的应用程序的密码(以及您的 Play Market 密码),因此密钥本身并不那么重要(显然,您需要确保所有这些东西的安全)。

于 2013-01-01T22:00:32.690 回答