我想问的是,是否有人知道用于软件保护的硬件USB-dongle,它为跨平台Java部署提供了非常完整的开箱即用API支持。用于Java的USB软件保护加密狗,带有“真实”跨平台的SDK。它存在吗?
它的SDK应该提供一个jar(每个OS &位只有一个,而不是一个不同的库),可以作为库添加到项目中。
- 罐子应该包含所有的各种操作系统原生的东西,bitnesses
- 但从应用的角度来看,应该继续写(API调用)一次,到处运行,而不必关心其中最终用户将运行软件
- 提供的罐子本身应该处理加载相应的本地库
难道这样的事情存在?
到目前为止,我已经尝试过,你有不同的API和编译库的win32,linux32,win64,linux64等(或者你甚至必须在目标机器上自己编译东西),但是,嘿,我们在这里做Java,我们不知道(也不关心)程序在哪里运行!
,我们不能指望最终用户是一名软件工程师,调整(并打破!)它的Linux服务器,链接库,乱用gcc,垃圾文件系统,等等
在一般来说,Java支持(以透明的跨平台方式)对我目前评估的加密狗SDK(例如KeyLok和SecuTech的UniKey)来说是非常糟糕的。 我甚至购买了(没有免费的评估套件)SecureMetric SDK &加密狗(根据市场推广材料,它们应该已经很“直接”地集成在一起),而且它们是有史以来最糟糕的:SecureDongle X没有64位支持, SecureDongle SD根本不是跨平台的。
那么,有没有人通过这个,并找到了用于跨平台部署的最终Java安全USB加密狗?
注意:软件是低容量,高价值的;应用程序是脱机的(内联网没有互联网访问),所以没有在线激活的替代品等。
- 编辑
尝试了HASP加密狗(以前被称为“阿拉丁”),并增加了他们的禁忌清单:在这里,也没有外的开箱(非常用的)支持:例如end-linux-user必须手动将.so库(相应位的特定文件)放在他的文件系统的正确位置,然后导出一个env。相应地变化。
问:是否假定最终用户已经安装了JRE,或者必须(特定于平台)JRE位于USB加密狗上? – paulsm4 2012-01-17 19:12:54
Hi @ paulsm4,谢谢你的评论。我依靠安装在系统上的JRE。同时考虑到包含闪存的加密狗比单纯的加密狗(通常允许数百字节的数据存储)花费更多。 – 2012-01-17 20:26:55
“软件保护”是一场艰苦的斗争:存在调试器,虚拟机等。任何方案最终都会被破解,尤其是当价值很高时。这就是为什么例如Oracle数据库不具有复杂的(如果有的话)复制保护。如果您无法提供可供依赖的在线服务器,则可以尝试提供离线服务器:安装安装了您的应用的完整计算机,即谷歌搜索设备。这也消除了平台兼容性的问题:) – 9000 2012-01-23 21:23:09