2012-01-17 88 views
8

我想問的是,是否有人知道用於軟件保護的硬件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。相應地變化。

+0

問:是否假定最終用戶已經安裝了JRE,或者必須(特定於平臺)JRE位於USB加密狗上? – paulsm4 2012-01-17 19:12:54

+0

Hi @ paulsm4,謝謝你的評論。我依靠安裝在系統上的JRE。同時考慮到包含閃存的加密狗比單純的加密狗(通常允許數百字節的數據存儲)花費更多。 – 2012-01-17 20:26:55

+0

「軟件保護」是一場艱苦的鬥爭:存在調試器,虛擬機等。任何方案最終都會被破解,尤其是當價值很高時。這就是爲什麼例如Oracle數據庫不具有複雜的(如果有的話)複製保護。如果您無法提供可供依賴的在線服務器,則可以嘗試提供離線服務器:安裝安裝了您的應用的完整計算機,即谷歌搜索設備。這也消除了平臺兼容性的問題:) – 9000 2012-01-23 21:23:09

回答

3

完整免責聲明:我爲製作軟件保護軟件狗(CodeMeter)的company工作。但我相信我們可能有一個滿足您需求的解決方案:我們針對所有平臺(Win,Mac,Linux等32位和64位)提供單一API。每個最終用戶機器只需要一個運行時(Windows上的服務; Linux上的守護進程)。我們使用本地Java API,它使用TCP/IP來調用我們的運行時,所以不需要特殊的設備驅動程序。您可以在發運軟件狗之前(預編程)或通過文件交換(NikeNet)在部署時不進行Internet訪問,也可以執行激活操作,也可以刪除軟件狗,將其連接到具有Internet連接的計算機並更新那裏有執照。

在比我們有AxProtector,這是一個自動保護/加密工具,你可以用它來測試我們的保護系統,更改源代碼的API更高的層次。這可以讓你測試你感興趣的所有平臺上的實現 - 你不需要爲不同的平臺創建多個版本。

我們有一個財富100強公司使用它來保護一個Java應用程序,在非Intel的Solaris跑,所以我們知道它已經壓力測試作爲一個跨平臺的解決方案。

我們有一個免費的全功能eval系統,我們可以儘快讓您。如果您通過我的個人資料中的電子郵件地址向我發送電子郵件,我們可以將您的SDK發送給您,並幫助您快速確定這是否能解決您的問題。

+0

感謝您的回覆:我對通過TCP調用來調用運行時二進制文件的智能解決方案感到驚喜(大多數競爭加密狗使您直接與USB通信發生衝突),我一直在想一段時間內某公司是否真的提供。我對評估Wibu加密狗非常感興趣,但是我無法在您的個人資料中看到您的電子郵件(我認爲只能在自己的個人資料中看到他自己的郵件):您可以在評論中透露它嗎? (或爲我提供另一種聯繫方式) – 2012-01-24 19:25:46

+0

Hello Unai;你可以給我發電子郵件:wibu.us的john dot1l – 2012-01-24 20:59:24

+0

我收到了評估套件:最後,在嘗試了8個競爭加密狗公司後,我發現了一個完全符合我需要的東西(即我在我的問題中提出的問題)! – 2012-02-17 02:08:39

2

您可以使用Dinkey Pro dongles實現正是這一點。雖然他們確實爲每個操作系統和體系結構使用單獨的本地庫,但您只需調用其Java API,並且它將處理任何平臺特定的位。使用.class(API)將這些庫封裝在JAR文件中,並且您有一個簡潔的解決方案。加密狗本身是無人駕駛的。

+0

當我從我的代碼中調用他們的API時,他們的類是否檢測到我們正在運行的操作系統和位數,並自動調用相應的本機庫? – 2012-01-27 15:44:43

+1

是的,它會自動處理 – 2012-01-27 17:11:36

1

我只能建議避免安全科技UniKey系統。在評估期間,產品符合我們所需的所有要求。我們開始整合這個解決方案,並發現一個接一個的問題 這裏是屬於SDK 6.2.7的部分重大問題的簡短列表:保存和加載相同的解決方案(Video)時

  1. 封套機設置隨意改變。
  2. 用包封器包裝的DLL文件不加載。
  3. 基於腳本的版本的包絡器的控制檯版本不起作用。它無法打包可以用基於GUI的版本封裝的exe/dll。

的支持是無功,但並沒有真正解決問題。

畢竟我們幾乎浪費了工作納入該保護系統的一個月,但現在由於大量的質量問題進行切換。