4

我对开发 AIR 应用程序很陌生,所以也许这是一个愚蠢的问题,但我似乎无法从谷歌找到任何答案。非常感谢您能给我的任何帮助。

我正在使用与 flickr 的 Api 相同的 API 使用 Ajax 构建一个 AIR 应用程序,并具有共享密钥。问题是空气安装包包含所有源,我不想泄露我的共享秘密。有没有办法做到这一点?我可以隐藏一些来源,或者以某种方式在应用程序中包含这个共享秘密而不泄露它吗?

谢谢你的帮助。

4

4 回答 4

2

您可能希望使用EncryptedLocalStore安全地存储您的 API 密钥。

但是,您将无法将其与应用程序一起分发,因为商店的加密取决于应用程序在哪个操作系统上运行。

在应用程序安装时,一种播种商店的方法是:

  1. 运行安装程序
  2. 根据需要运行安装后脚本。
  3. 检查商店。如果没有密钥,请从您的网站下载密钥并将其存储在 ELS 中。

使用这种方法,用户永远不会知道您的密钥,但它会出现在应用商店中。

于 2008-11-24T10:12:05.623 回答
0

第一个问题 - 许可证是否允许您编写应用程序并将其提供给其他人使用您的密钥,而不是拥有自己的密钥?

如果是这样,并且如果这是一个与 AIR 兼容的 SDK,他们应该有一些他们推荐的方法。

编辑:

这个问题描述了 flickr 如何通过密钥提供对额外资源的访问。如果这是一个 AIR 应用程序,您是否跳过沙盒圈来提供同时提供互联网和桌面应用程序?

于 2008-11-17T03:33:14.853 回答
0

我要么将密钥存储在服务器上,然后使用 SSL (https://) 和flash.net.URLLoader类检索它,要么将其存储在加密的SQLite 数据库中。显然,如果您还没有使用它,数据库会产生更多的开销,所以如果您现在或将来不打算使用 SQLite 数据库,我会选择第一个选项。

于 2008-12-23T12:53:18.823 回答
0

您可以像提到的 Pierre-Yves Gillier 一样使用 EncryptedLocalStore。有一种方法可以检测应用程序是否从第一次运行。但我会选择这种方法:

检查 Encryptedlocalstore 是否有 api 密钥,如果没有,则从服务器获取它并存储它。

于 2008-12-23T21:47:27.293 回答