USB-Softwareschutz-Dongle für Java mit einem SDK, das plattformübergreifend "real" ist. Existiert es?

8

Was ich fragen möchte, ist, ob jemand einen Hardware-USB-Dongle für den Softwareschutz kennt, der eine sehr vollständige Out-of-the-Box-API-Unterstützung für plattformübergreifende Java-Implementierungen bietet.

Sein SDK sollte ein jar (nur eine, nicht eine unterschiedliche Bibliothek pro OS und Bitity) bereitstellen, die dem eigenen Projekt als Bibliothek hinzugefügt werden kann.

  • Das jar sollte all das native Zeug für die verschiedenen Betriebssysteme und Bitties
  • enthalten
  • Aus der Sicht der Anwendung sollte man weiterhin (api-Aufrufe) einmal schreiben und überall laufen, ohne sich darum kümmern zu müssen, wo der Endbenutzer die Software ausführen wird
  • Das bereitgestellte jar sollte selbst das Laden der entsprechenden nativen Bibliothek übernehmen

Gibt es so etwas?

Mit dem, was ich bisher versucht habe, haben Sie verschiedene APIs und kompilierte Bibliotheken für win32, linux32, win64, linux64 usw. (oder Sie müssen sogar selbst Sachen auf dem Zielrechner kompilieren), aber hey, wir sind Wenn wir hier Java machen, wissen wir nicht (und ist es egal), wo das Programm läuft!

Und wir können nicht erwarten, dass der Endbenutzer ein Softwareentwickler sein wird, seinen Linux-Server optimieren, Bibliotheken verlinken, sich mit gcc anlegen, das Dateisystem verwüsten usw. ...

Im Allgemeinen ist Java-Unterstützung (in einer transparenten plattformübergreifenden Art) ziemlich schlecht mit den Dongle-SDKs, die ich bisher ausgewertet habe (z. B. KeyLok und SecuTechs UniKey). Ich habe sogar SecureMetric SDKs und Dongles gekauft (sie sollten "soooo" geradlinig integriert sein - laut Marketingmaterial: \) und sie waren die schlechtesten überhaupt: SecureDongle X hat keine 64bit Unterstützung und SecureDongle SD ist überhaupt nicht plattformübergreifend.

Also, hat jemand da draußen durch und fand den ultimativen Java-Sicherheits-USB-Dongle für plattformübergreifende Implementierungen?

Hinweis: Software ist kleinvolumig, hochwertig; Anwendung ist offline (Intranet ohne Internetzugang), also keine Online-Aktivierung Alternativen und dergleichen.

- BEARBEITEN

Habe HASP-Dongles (früher "Aladdin" genannt) ausprobiert und zur No-No-Liste hinzugefügt: auch hier gibt es kein Out-of-the-Box (out-of-the-jar) Unterstützung: z end-linux-user muss die .so-Bibliothek (die spezifische Datei für die entsprechende Bitness) manuell an die richtige Stelle in seinem Dateisystem setzen und ein env exportieren. Variable entsprechend.

    
Unai Vivi 17.01.2012, 19:09
quelle

3 Antworten

3

Vollständiger Haftungsausschluss: Ich arbeite für eine Firma , die Softwareschutz-Dongles (CodeMeter) erstellt. Aber ich glaube, wir haben vielleicht eine Lösung, die Ihren Anforderungen entspricht: Wir haben eine einzige API für alle Plattformen (Win, Mac, Linux usw., sowohl 32- als auch 64-Bit). Jeder Endbenutzer-Rechner benötigt lediglich eine Laufzeit (Dienst unter Windows; Daemon unter Linux). Wir verwenden eine native Java-API, die TCP / IP verwendet, um unsere Laufzeit aufzurufen, sodass keine speziellen Gerätetreiber erforderlich sind. Sie können Aktivierungen entweder vor dem Versand des Dongles (Vorprogrammierung) oder über den Dateiaustausch (NikeNet) bei Bereitstellungen ohne Internet-Zugang ausführen, oder Sie können den Dongle entfernen, ihn zu einem Computer mit Internetverbindung bringen und ihn aktualisieren Lizenz dort.

Auf einer höheren Ebene als die API haben wir AxProtector, ein automatisiertes Schutz- / Verschlüsselungswerkzeug, mit dem Sie unser Schutzsystem ohne Quellcodeänderungen testen können. Dadurch können Sie die Implementierung auf allen Plattformen testen, an denen Sie interessiert sind - Sie müssen nicht mehrere Versionen für verschiedene Plattformen erstellen.

Wir haben ein Fortune-100-Unternehmen damit beauftragt, eine Java-App zu schützen, die auf Nicht-Intel-Solaris ausgeführt wurde. Daher wissen wir, dass es als plattformübergreifende Lösung getestet wurde.

Wir haben ein kostenloses, voll funktionsfähiges Evaluierungssystem, das wir Ihnen so schnell wie möglich zur Verfügung stellen können. Wenn Sie mir eine E-Mail an die E-Mail-Adresse in meinem Profil senden, können wir Ihnen ein SDK zusenden und Ihnen helfen, schnell festzustellen, ob dadurch Ihr Problem gelöst wird.

    
John Browne 24.01.2012, 18:48
quelle
2

Sie können Dinkey Pro-Dongles verwenden, um genau das zu erreichen. Während sie für jedes Betriebssystem und jede Architektur separate native Bibliotheken verwenden, müssen Sie nur ihre Java-API aufrufen und sie kümmert sich um plattformspezifische Bits. Wickeln Sie die Bibliotheken in eine JAR-Datei mit der .class (API) und Sie haben eine saubere Lösung. Die Dongles selbst sind fahrerlos.

    
Nick Smith 27.01.2012 12:51
quelle
1

Ich kann nur empfehlen, das SecuTech UniKey System zu meiden. Während der Evaluierung erfüllte das Produkt alle Anforderungen, die wir brauchten. Wir haben mit der Integration dieser Lösung begonnen und ein Problem nach dem anderen entdeckt. Hier ist eine kurze Liste der wichtigsten Probleme, die Teil des SDK 6.2.7 sind:

  1. Die Einstellungen für den Umschlag ändern sich beim Speichern und Laden derselben Lösung zufällig ( Video ).
  2. DLL-Dateien, die mit dem Enveloper umschlossen sind, werden nicht geladen.
  3. Die Konsolenversion des Enveloper für scriptbasierte Builds funktioniert nicht. Es ist nicht möglich, exe / dlls zu umbrechen, die mit der GUI-basierten Version des Envelopers umschlossen werden können.

Der Support ist reaktiv, geht aber die Probleme nicht wirklich an.

Schließlich haben wir fast einen Monat Arbeit verschwendet, um dieses Schutzsystem zu integrieren, müssen aber jetzt aufgrund der massiven Qualitätsprobleme wechseln.

    
Xcessity 13.10.2016 13:41
quelle