或者Android市场,例如Google Play,保存开发人员ID列表以及相应的公钥,并在下载应用程序时将正确的密钥推送到客户端设备上吗?
是否有任何文档传达这些信息?
非常感谢任何输入。
http://developer.android.com/google/play/licensing/adding-licensing.html#account-key
这个链接的一些部分将解决你的问题 为许可嵌入您的公钥
对于每个应用程序,Google Play服务会自动生成一个2048位RSA公钥/私钥对,用于许可和应用内购买。密钥对与应用程序唯一相关联。虽然与应用程序相关联,但密钥对与您用于签署应用程序(或从中派生的密钥)的密钥不同。
Google Play开发者控制台向任何登录到开发者控制台的开发人员公开用于许可的公钥,但它将私钥隐藏在安全位置,不向所有用户公开。当应用程序请求为您账户中发布的应用程序进行许可检查时,许可服务器使用您应用程序密钥对的私钥对许可证响应进行签名。当LVL接收到响应时,它使用应用程序提供的公钥验证许可证响应的签名。
要向应用程序添加许可证,您必须获取应用程序的许可证公钥并将其复制到应用程序中。以下是查找应用程序的许可证公钥的方法:
进入Google Play开发者控制台并登录。确保您从发布(或将要发布)应用程序的帐户登录。 在应用程序详细信息页面中,找到“服务和API”链接并单击它。 在“服务和API”页面中,找到“许可和应用内购买”部分。在“此应用程序的许可密钥”字段中给出了您的许可证公钥。 要将公钥添加到应用程序中,只需将该字段中的密钥字符串复制/粘贴为String变量BASE64_PUBLIC_KEY的值。在复制时,请确保已选择整个密钥字符串,不要省略任何字符。
以下是LVL示例应用程序的示例:
public class MainActivity extends Activity {
private static final String BASE64_PUBLIC_KEY = "MIIBIjANBgkqhkiG ... "; //truncated for this example
...
}