Android - 从VeriSign等认证机构获取密钥

时间:2011-06-02 02:15:43

标签: android sign

您好
我写了一个程序,我的老板让我签名没有自签名的apk文件,我如何从VeriSign这样的权威机构获得证书?

由于

3 个答案:

答案 0 :(得分:7)

您无法使用Verisign或其他商业代码签名证书签署Android APK以在Android电子市场中分发。 Android Market要求证书到期日的年份大于或等于2033年,但没有商业证书供应商会向您出售证书,其有效期至今(他们的业务迫使您回来并支付每一笔费用)年:卖给你一个三十年的证书类型的失败)。有关日期信息,请参阅http://developer.android.com/guide/publishing/app-signing.html#releasemode

所以不,你不能使用商业机构证书。

答案 1 :(得分:2)

Android目前不像Windows使用Authenticode那样支持代码证书。

让我更好地解释一下。

在Windows中,使用Authenticode进行签名会创建从可执行文件到公司的信任关系。如果运行Vista / Seven(8?),UAC提示会在有效证书出现时显示程序的作者,否则黄色提示会警告您软件未签名。这有助于您决定是否运行该应用程序。

在Android中,安装程序时不会显示任何作者信息。私钥是重要的。使用与安装的应用程序相同的密钥签名的APK:

  • 肯定来自同一作者
  • 如果包名称匹配,则可以更新现有应用程序
  • 如果是其他应用程序,则可以访问其他应用程序的私有数据,例如Authenticator存储的密码。通常,来自同一供应商(私钥)的APK在相同的UID下运行

我的回答是为了提醒你的老板,在当前的Android生态系统中,数字证书几乎一文不值。我没有尝试赛门铁克,但我相信他们几乎没有为您提供远程签名工具,其中他们拥有私钥,您发送APK结束他们会返回签名APK。如果有人知道我错了,请告诉我。

我的来源是official Android documentation。该文档说“证书不需要由证书颁发机构签名:Android应用程序使用自签名证书是完全允许的,和典型。” Does not mean当然不代表cannot be

答案 2 :(得分:1)

我在搜索同一问题时偶然发现了这个网站(Symantec Code Signing for Android)。事实证明,Verisign确实提供了签署Android应用程序的解决方案,但是,它并不便宜:)