CodeMeter Core API

Udział:

CodeMeter Core API daje programistom możliwość dostępu do funkcji CodeMeter bezpośrednio z poziomu ich oprogramowania. Funkcje te zasadniczo dotyczą następujących scenariuszy:

  • Korzystania z licencji i zarządzania nimi
  • Odczytywania i zapisywania danych
  • Korzystania z funkcji kryptograficznych

Dla CodeMeter Runtime, CodeMeter Core API jest dostępna jako biblioteka dynamiczna, biblioteka .NET lub jako interfejs Java. Dzięki tym interfejsom prawie wszystkie popularne języki programowania mogą korzystać z CodeMeter Core API, w tym C/C++, C#, C++/CLI, Delphi, Java, Fortran, VB, VB.NET i Python.

CodeMeter Core API jest również dostępne jako statyczna biblioteka C będąca częścią CodeMeter SDK na potrzeby CodeMeter Runtime i CodeMeter Embedded. Dla CodeMeter Embedded i CodeMeter µEmbedded, CodeMeter Core API jest dostępne w postaci kodu źródłowego, również jako część składowa SDK. API CodeMeter Core jest dostępne na wszystkich platformach obsługiwanych przez CodeMeter, jak: Windows, macOS, Linux, Android, VxWorks i QNX.

CodeMeter Core API CodeMeter
Variant
Part of Operating System
/ Environment
Programming
Languages
Static Library CodeMeter Runtime CodeMeter SDK Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C/C++
Static Library CodeMeter Embedded CodeMeter Embedded SDK Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM),
QNX (x86, ARM),
VxWorks (x86, x86-64, ARM, PowerPC),
Android (ARM)
C/C++
Dynamic Library CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C/C++, Delphi, VB, Fortran, Python, ...
.NET Assembly CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64) C#, C++/CLI, VB .NET 
.NET Standard Assembly CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C#, VB.NET
Java Interface CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
Java
Source Code CodeMeter Embedded CodeMeter Embedded SDK Any OS C/C++
Source Code CodeMeter µEmbedded CodeMeter µEmbedded SDK Any OS C/C++

Korzystanie z licencji i zarządzanie nimi

CodeMeter Core API oferuje producentom oprogramowania możliwość elastycznego definiowania wykorzystania licencji w swoim oprogramowaniu. Możesz na przykład podczas uruchamiania oprogramowania sprawdzać dostępne licencje i w zależności od wyniku, aktywować, dezaktywować lub ukrywać poszczególne funkcje oprogramowania. Można również określić, czy licencja pobierana jest od razu po uruchomieniu aplikacji lub dopiero po pierwszym użyciu przypisanej funkcji. CodeMeter automatycznie sprawdza, czy licencja jest ważna. Wygasłe licencje lub licencje na inne wersje oprogramowania zostaną automatycznie odrzucone. Jeśli dostępnych jest wiele ważnych licencji, CodeMeter automatycznie wybierze najlepiej pasującą opcję.

Po zwolnieniu licencji CodeMeter jest powiadamiany, że licencja będzie ponownie dostępna dla innych aplikacji, co jest ważne np. w przypadku korzystania z licencji sieciowych (jednoczesnego użytkowania). Jeśli przed zwolnieniem licencji aplikacja ulegnie awarii lub w inny sposób zakończy działanie, zdarzenie takie będzie automatycznie obsłużone przez CodeMeter w celu uwolnienia nie zaalokowanych licencji.

Dla większego bezpieczeństwa CodeMeter Core API umożliwia szyfrowanie danych za pomocą klucza przechowywanego w licencji. Dane nie mogą zostać odszyfrowane i wykorzystane bez odpowiedniej licencji.

Oprócz umożliwienia aplikacjom efektywnego korzystania z licencji, CodeMeter pozwala również programistom zarządzać licencjami i tworzyć własne menedżery licencji. Mogą oni następnie uzyskać dostęp, odczytać lub wyświetlić listę wygasłych lub nieważnych licencji. Licencje mogą być aktywowane lub dezaktywowane w trybie offline lub online za pomocą CodeMeter License Central. Użytkownicy mogą również pożyczać i zwracać licencje w zależności od potrzeb.

Odczyt i zapis danych

CodeMeter umożliwia przechowywanie danych w licencji i udostępnianie ich do wykorzystania w aplikacji. Twórcy oprogramowania mogą zapisać te dane w licencji podczas jej oryginalnego tworzenia. W zależności od wybranego pola danych, dostęp do nich jest otwarty podczas działania aplikacji lub ograniczony specjalną operacją kryptograficzną (działającą jak hasło). Dodatkowo możesz określić, czy dane te mogą być nadpisywane w czasie działania aplikacji, co wymaga przestrzegania odpowiedniej sekwencji (Programming Sequence - można to traktować jako kolejne hasło) i tym samym możliwe jest tylko z poziomu Twojego oprogramowania.

W przypadku CmSticks wyposażonych w pamięć flash, CodeMeter Core API może również odczytywać i zapisywać dane w specjalnej, ukrytej partycji pamięci flash (Secure Disc). W przeciwieństwie do danych zawartych w licencji, które mogą wynosić od kilku bajtów do kilobajtów, wielkość dostępnępnej pamięci dla danych wynosi od kilku bajtów do wielu gigabajtów. Opcja ta jest wykorzystywana w szczególności do bezpiecznego przechowywania plików z logami.

Data Type Size CmDongle with Flash Memory CmDongle without Flash Memory / CmActLicense Read during Runtime Write during Runtime Key Source
User Data 256 Byte Yes Yes Yes Yes No
Protected Data 256 Byte Yes Yes Yes Configurable (Password**, No) No
Extended Protected Data 128 x 256 Byte Yes Yes Yes Configurable (Password**, No) No
Hidden Data 128 x 256 Byte Yes Yes Password* Configurable (Password**, No) AES 128, ECC 224
Secret Data 128 x 256 Byte Yes Yes No Configurable (Password**, No) AES 128, ECC 224, RSA 1024, RSA 2048
Universal Data Limited by the size of the smart card chip Yes Yes No No AES 256, RSA 4096
Secure Disk Limited by the size of the flash memory Yes No Password Password** No

* Hidden Data Access Code
** Programming Sequence

Korzystanie z funkcji kryptograficznych

CodeMeter oferuje opcję bezpiecznego przechowywania kluczy do operacji kryptograficznych w licencji, na przykład kluczy prywatnych do szyfrowanej komunikacji dla OPC UA. Klucze te zwykle nie mogą być odczytywane, ale są dostępne dla CodeMeter Core API. Klucze można tworzyć bezpośrednio w module sprzętowym CmDongle. W ten sposób nie będą one dostępne nigdy poza CmDongle.

Następujące funkcje są dostępne za pośrednictwem CodeMeter Core API:

  • Obliczanie wartości hash (SHA 256)
  • Symetryczne szyfrowanie i deszyfrowanie danych (AES 128, AES 256)
  • Asymetryczne szyfrowanie i deszyfrowanie danych (ECIES 224, RSA 1024, RSA 2048, RSA 4096)
  • Podpisywanie danych (ECDSA 224, RSA 1024, RSA 2048, RSA 4096)
  • Obliczanie klucza publicznego dla zapisanego klucza prywatnego (ECDSA 224, ECIES 224)

Funkcje te mogą mieć szerokie zastosowanie:

  • Zaszyfrowane ustawienia i dane mogą być przechowywane w oprogramowaniu w celu osiągnięcia wyższego poziomu ochrony
  • Dane utworzone za pomocą chronionej aplikacji mogą być szyfrowane tak aby dostęp do nich mieli tylko autoryzowani użytkownicy posiadających ważną licencję
  • Dane i pliki z logami mogą być podpisywane w celu potwierdzenia ich autentyczności i integralności
  • Klucze mogą być używane do inicjowania zaszyfrowanej komunikacji

Jesteś zainteresowany spersonalizowaną ofertą na naszą technologię CodeMeter? Wystarczy odpowiedzieć na kilka pytań, a nasz zespół skontaktuje się z Tobą i przekaże wszystkie potrzebne informacje.

Prześlij

Do góry