QBS >> Elementy standardowe >> QM-LicenseManager >> Podręcznik informatyka

QM-LicenseManager

Algorytmy generowania klucza |  Zabezpieczenie pliku licencji

Algorytmy generowania klucza

Moduł licencji umożliwia generowanie kluczy według dwóch różnych algorytmów:

  • starego - związanego z dotychczasowymi produktami linii Q-Line 3000 i poprzednią wersją modułu
  • nowego - o postaci xxxx-xxxx-xxxx-xxxx, z wyłączeniem znaków o podobnym zapisie (np. 0 i O, G i 6). Obowiązuje on w licencji na serwer Q-SEP i w produktach z wersją biblioteki zawierającą nowy moduł.

    Dane wykorzystywane do generowania klucza:

  • stary - dane programu, dane klienta
  • nowy - dane programu, dane klienta, blokada czasowa

    Wygenerowany klucz jest związany z konkretnym produktem i jego użytkownikiem. W przypadku nowego modułu istnieje możliwość ustawienia czasu ważności licencji. Ważność licencji jest weryfikowana przy włączaniu aplikacji.

    Mechanizm KillDate został wykorzystany w niektórych produktach linii. Był on wykorzystywany w celu nałożenia blokady czasowej. Odpowiednie informacje są zapamiętywane w kluczu. Klucz przechowywany jest w bazie danych.

    Zastosowanie mechanizmu wymaga dostosowania aplikacji:

  • dodanie pakietu activation
  • dodanie pliku konfiguracyjnego activation.qcon
  • modyfikacja pliku Start.java uwględniająca mechanizm

    Z uwagi na możliwości nowego modułu używanie mechanizmu jest zbędne.

    Zabezpieczenie pliku licencji

    Plik licencji version.lic zawiera informacje o:
  • nazwie i wersji programu
  • aktualnej licencji na program
  • ograniczeniu na liczbę rekordów w spisie
  • kontekstów okien dostępnych w różnych typach wersji programu
  • kluczu kontrolnym pliku

    Plik jest chroniony kluczem kontrolnym. Jest on wyznaczany z wartości wszystkich pól pliku. Uniemożliwia to modyfikację parametrów działania aplikacji. Kod jest generowany przy modyfikacji licencji. Kod jest weryfikowany przy włączaniu aplikacji. W przypadku wykrycia niezgodności korzystanie z aplikacji nie jest możliwe.