我想问的是,是否有人知道用于软件保护的硬件 USB 加密狗,它为跨平台 Java 部署提供了非常完整的开箱即用 API 支持。
它的 SDK 应该提供一个 jar(每个操作系统和位数只有一个,而不是一个不同的库)准备作为库添加到一个项目中。
- jar 应该包含各种操作系统和位数的所有本机内容
- 从应用程序的角度来看,应该继续编写(api 调用)一次并在任何地方运行,而不必关心最终用户将在哪里运行软件
- 提供的 jar 本身应该处理加载适当的本机库
这样的事情存在吗?
到目前为止我已经尝试过,你有不同的 API 和为 win32、linux32、win64、linux64 等编译的库(或者你甚至必须在目标机器上自己编译东西),但是嘿,我们在这里做 Java ,我们不知道(也不关心)程序将在哪里运行!
而且我们不能指望最终用户成为软件工程师,调整(并破坏!)它的 linux 服务器、链接库、弄乱 gcc、乱扔文件系统等等......
一般来说,Java 支持(以透明的跨平台方式)对于我目前评估过的加密狗 SDK(例如 KeyLok 和 SecuTech 的 UniKey)来说非常糟糕。我什至购买了(没有可用的免费评估套件)SecureMetric SDK 和加密狗(根据营销材料,它们应该是“soooo”直接集成的:\),它们是有史以来最糟糕的:SecureDongle X 不支持 64 位,而 SecureDongle SD 是根本不是跨平台的。
那么,有没有人经历过这个并找到了用于跨平台部署的终极 Java 安全 USB 加密狗?
注:软件是小批量、高价值的;应用程序处于离线状态(无法访问互联网的内联网),因此没有在线激活替代方案等。
- 编辑
试用了 HASP 加密狗(以前称为“Aladdin”),并将它们添加到禁止列表:这里也没有开箱即用(out-of-the-jar)支持:例如end-linux-user 必须手动将 .so 库(适当位数的特定文件)放在他的文件系统上的正确位置,然后导出一个 env。相应地变化。