Smarx OS API
 |
Die Implementierung in den Quellcode mittels API-Befehlen richtet sich vor allem an professionelle Softwareentwickler, die maximale Sicherheit und Flexibilität für ihre Schutzstrategie benötigen. So kann zum Beispiel eine eingeschränkte Demoversion ohne Dongle an den Kunden ausgeliefert werden, die durch Anstecken einer CRYPTO-BOX automatisch zur Vollversion wird. Bestimmte Programmteile oder -features lassen sich individuell pro Kunde definieren und nachträglich per Remote-Update freischalten nachdem der Kunde bezahlt hat.
Die individuelle Einbindung in den Sourcecode ist unter allen gängigen Plattformen (Windows, Linux, macOS, iOS und Android) möglich. Das API bietet Zugriff auf die Verschlüsselungsfunktionen der CRYPTO-BOX, und für jede Anwendung oder Programm-Modul kann ein eigener Speicherbereich (Partition) für Lizenzinformationen definiert werden. Ein versehentliches Überschreiben von Daten durch eine andere Anwendung ist daher unmöglich. Das Smarx OS Interface unterstützt Lizenzmanagement sowohl am Einzelplatz, als auch im Netzwerk.
|
 |
MARX bietet Softwareentwicklern verschiedene API's auf Basis des Smarx®OS Systems an:
-
Smarx API - API Abstraktionslayer
Smarx API ist ein Interface mit Fokus auf Einfachheit und Nutzerfreundlichkeit. Im Gegensatz zu den weiter unten genannten Interfaces (CBIOS/SmarxCpp für C++/Delphi oder CBIOS4NET/Smarx4NET für C#) ist beim Smarx API der Implementierungsaufwand und damit auch die Möglichkeiten für Bugs und Fehler drastisch reduziert. Gegenüber der automatischen Einbindung mit AutoCrypt bietet es wiederum eine grössere Flexibilität. Smarx API unterstützt aktuell die folgenden Entwicklungsumgebungen: Windows - C#, C++, VB (Visual Studio 2013 oder höher), Delphi ab Version 10 macOS - Xcode 8
-
AC API - API Abstraktionslayer
Dieses neuste von MARX eingeführte API hat den Fokus auf einer möglichst schnellen und einfachen Implementierung. Es braucht nur ein einziger Funktionsaufruf zum Quellcode der Anwendung hinzufügen, um Lizenz-Informationen in einer lokal oder im Netzwerk angeschlossenen CRYPTO-BOX zu prüfen, beispielsweise ein Ablaufdatum oder einen Ausführungszähler. Anschliessend braucht es nur noch ein Exit-Event (AppExitEvent) mit Übergabe eines Exception-Arguments - damit ist die Einbindung schon abgeschlossen! AC API unterstützt C++ und C# (Visual Studio 2013 und höher).
-
Objektorientierte APIs - CBIOS4NET/Smarx4NET und SmarxCpp
Smarx4NET/CBIOS4NET - eine Implementierung speziell für .NET. Es integriert alle unter Punkt 4 aufgeführten Interfaces und vereinfacht so die Einbindung für .NET Entwickler.
SmarxCpp - eine objektorientierte Implementierung für C++. Es integriert die unter Punkt 4 aufgeführten CBIOS-/DO-Interfaces und vereinfacht so die Einbindung für C++-Entwickler. Es steht als statische Bibliothek (für MSVS2013 und höher) und als DLL zur Verfügung.
-
Standard APIs (CBIOS/DO/RFP/DP)
- CBIOS API - Befehle für den Zugriff auf die CRYPTO-BOX (lokal oder im Netzwerk), auf den internen Speicher und auf die Verschlüsselungsfunktionen (hardwarebasierte AES- bzw. RSA-Verschlüsselung, abhängig vom CRYPTO-BOX Modell).
- CBIOS DO API - enthält Befehle zur einfachen Verwaltung von Datenobjekten im Speicher der CRYPTO-BOX, wie Ablaufdatum, Zähler, Netzwerklizenzen oder kundenspezifische Objekte. Diese Datenobjekte können später über Remote-Update (RUMS im Smarx Application Framework oder das RFP API) aktualisiert werden.
- CBIOS RFP API - API für Remote-Updates von Datenobjekten in der CRYPTO-BOX direkt beim Endanwender über verschlüsselte Konfigurationsdateien.
Eine detaillierte Übersicht zu allen API's bietet unser White Paper "Implementation with API".
|
Unterstützte Entwicklungsumgebungen
Die nachfolgende Tabelle enthält eine Übersicht der unterstützten Compiler. Eine detaillierte Einführung zur Einbindung über API befindet sich im Compendium in Kapitel 10, außerdem sind White Paper mit API-Befehlsreferenzen für C#, C/C++, Delphi und Visual Basic verfügbar, sowie Beispielcode für viele Entwicklungsumgebungen im Protection Kit.
Windows
C#
|
- Microsoft Visual Studio 2005 und höher (.NET 2.0 und höher)
|
C/C++
|
- Microsoft Visual Studio 2005 und höher
- Microsoft Visual C++ 6.0/2003
- Borland Builder 5 - RAD XE8
- MinGW
- Qt4
|
Delphi
|
|
Java
|
|
VB
|
- Microsoft Visual Studio 2005 und höher
- Microsoft Visual Basic 6.0/2003
|
VBA
|
- Microsoft Access
- Microsoft Excel
|
Other
|
- LabVIEW
- Microsoft Visual FoxPro 9.0
- Micro Focus Visual COBOL 2010 R3
- Intel Visual Fortran XE 2011
- Digital Mars D
- F#
- MATLAB
- REALbasic 2006
- DarkBASIC
- Scala
|
Linux
C/C++
|
|
Java
|
- JDK 1.6 und höher (32/64bit)
|
Basic
|
|
Ada
|
|
macOS
C/C++
|
- GCC 6 und höher
- Xcode 9 und höher
- Swift 2.0 und höher
- Qt 4
|
Delphi
|
|
Java
|
|
Other
|
|
Mobile Geräte (Auf Anfrage)