嗨
我写了一个程序,我的老板让我在没有自签名的情况下签署 apk 文件,我怎样才能从 VeriSign 等任何权威机构获得证书?
谢谢
您不能使用 Verisign 或其他商业代码签名证书来签署 Android APK 以在 Android Market 中分发。Android Market 要求证书的到期日期必须大于或等于 2033 年,但没有商业证书供应商会向您出售到期日期在很远的将来的证书(他们的业务迫使您返回并支付每年:卖给你一个 3-decade 的证书会打败它)。有关日期信息,请参阅http://developer.android.com/guide/publishing/app-signing.html#releasemode。
所以不,您不能使用商业权威证书。
Android 目前不像 Windows 使用 Authenticode 那样支持代码证书。
让我更好地解释这一点。
在 Windows 中,使用 Authenticode 签名会创建从可执行文件到您公司的信任关系。如果您运行 Vista/Seven (8?),当存在有效证书时,UAC 提示会显示程序的作者,否则黄色提示会警告您该软件未签名。这有助于您决定是否运行该应用程序。
在 Android 中,安装程序时不会显示任何作者信息。重要的是私钥。使用与已安装应用程序相同的密钥签名的 APK:
Authenticator
存储的密码。通常,来自同一供应商(私钥)的 APK 在相同的 UID 下运行我的回答旨在提醒您的老板,在当前的 Android 生态系统中,数字证书几乎一文不值。我没有尝试赛门铁克,但我相信他们几乎没有为您提供远程签名工具,他们拥有私钥的所有权,您发送一个 APK,他们返回给您一个签名的 APK。如果有人知道我错了,请告诉我。
我的来源是官方的 Android 文档。该文件说“证书不需要由证书颁发机构签名:Android 应用程序使用自签名证书是完全允许和典型的。”。Does not mean
不代表cannot be
当然。
在搜索同一问题时,我偶然发现了这个网站(适用于 Android 的 Symantec Code Signing )。事实证明,威瑞信确实提供了签署 Android 应用程序的解决方案,但是,它并不便宜 :)