用于Java的USB软件保护加密狗,具有跨平台“真实”的SDK。 它存在吗?

我想问的是,是否有人知道用于软件保护的硬件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加密狗(曾经被称为“阿拉丁”),并将它们添加到禁止清单中:在这里,也没有开箱即用(开箱即用)的支持:例如end-linux-user必须手动将.so库(特定文件的适当位数)放在他的文件系统的正确位置,然后导出一个env。 因此变量。

完全免责声明:我为一家制作软件保护加密狗的公司(CodeMeter)工作。 但我相信我们可能有一个满足您要求的解决方案:我们为所有平台(Win,Mac,Linux等32位和64位)提供单一API。 每个最终用户机器仅需要运行时(Windows上的服务; Linux上的守护程序)。 我们使用本机Java API,它使用TCP / IP来调用我们的运行时,因此不需要特殊的设备驱动程序。 您可以在发送加密狗之前进行激活(预编程),也可以在无法访问Internet的部署中通过文件交换(NikeNet)进行激活,或者您可以删除加密狗,将其连接到具有Internet连接并更新在那里许可。

在比API更高的级别,我们有AxProtector,这是一种自动保护/加密工具,您可以使用它来测试我们的保护系统,而无需更改源代码。 这将允许您在您感兴趣的所有平台上测试实现 – 您不需要为不同的平台创建多个版本。

我们有一家财富100强公司使用它来保护在非英特尔Solaris上运行的Java应用程序,因此我们知道它已作为跨平台解决方案进行了压力测试。

我们有一个免费的全function评估系统,我们可以尽快给您。 如果您通过我的个人资料中的电子邮件地址给我发送电子邮件,我们可以向您发送SDK并帮助您快速确定这是否可以解决您的问题。

您可以使用Dinkey Pro加密狗来实现这一目标。 虽然它们确实为每个操作系统和体系结构使用单独的本机库,但您只需要调用它们的Java API,它就会处理任何特定于平台的位。 使用.class(API)将库包装在JAR文件中,您就可以得到一个简洁的解决方案。 加密狗本身是无人驾驶的。

我只能建议避免使用SecuTech UniKey系统。 在评估期间,产品符合我们所需的所有要求。 我们开始整合这个解决方案并发现了一个又一个问题。 以下是SDK 6.2.7中主要问题的简短列表:

  1. 保存和加载相同的解决方案时,包络设置会随机更改( video )。
  2. 使用包装器包装的DLL文件不会加载。
  3. 基于脚本的构建的控制台的控制台版本不起作用。 它无法包装可以使用基于GUI的封装器版本打包的exe / dll。

支持是被动的,但并没有真正解决问题。

毕竟我们浪费了近一个月的工作来整合这个保护系统,但现在由于质量问题而不得不切换。