OS X - 使用Keychain安全存储私有应用程序许可证/验证数据?

时间:2014-07-15 00:33:19

标签: macos keychain license-key

请注意:这个问题不是关于版权保护的有效性,保护的必要性,盗版的影响,还是一个人对数字商务的政治观点。相反,它涉及以隐藏/保护来自临时或半确定用户的数据的方式存储私有许可证密钥或数据的技术方面。

前言:传统上,许多OS X开发人员通过加密私有数据(例如,应用程序启动的数量)并将这些数据存储在具有模糊名称的文件中来实现演示/时间限制/使用限制/共享软件许可方案,通常在首选项和/或应用程序支持层次结构。显然,这不太理想。

问题:在OS X上存储特定于应用程序的许可证数据有哪些选项,以便临时或甚至半确定的用户无法轻易删除或修改该数据?这项工作可以由Keychain执行吗?

[编辑]

(在线验证不可用。该应用程序没有启用沙盒。开发者ID代码签名开启。我正在寻找比通过Keychain Access或系统工具轻松删除许可证更坚固的东西。)< / p>

欢迎任何其他建议/策略。感谢。

1 个答案:

答案 0 :(得分:0)

管理员访问在某种程度上始终是root访问权限。在恼人的用户和烦恼之间找到平衡点在这种情况下保护他们自己。 (无论是否要这样做)

您可能需要包含一个特权助手应用程序来解除此问题。这是因为Cocoa GUI应用程序通常使用当前登录用户的有效权限和用户ID运行,这在命令行的unix中很常见。

具有不同权限的帮助程序需要管理员至少第一次授权。 然后帮助程序可以将数据存储在某处并更改权限和所有权(并在unix中以不同的用户身份运行)。 除了大量的模糊和加密之外,这是关于你所知道的事情。