Odczyt kart typu SmartCard w systemie SOWA.
Transkrypt
Odczyt kart typu SmartCard w systemie SOWA.
Odczyt kart typu SmartCard w systemie SOWA. Zintegrowany system biblioteczny SOWA pozwala na wykorzystanie elektronicznych kart typu SmartCard do identyfikacji czytelników odwiedzających bibliotekę. Aplikacja kliencka modułu obsługi wypożyczalni posiada wbudowany mechanizm automatycznego odczytu kart tego typu. Mechanizm ten obsługuje zarówno stykowe jak i bezstykowe interfejsy odczytu kart Mifare oraz ELS (Elektroniczna Legitymacja Studencka). Wymagania Pierwszym wymogiem jest poprawna instalacja w systemie operacyjnym czytnika kart SmartCard. Producent takiego czytnika dostarcza sterownik oraz program diagnostyczny. Przed przystąpieniem do dalszych kroków należy przy użyciu tego programu przetestować poprawność działania czytnika. Należy upewnić się, że w folderze instalacyjnym aplikacji klienckiej SOWY (np. w C:\sowa\sowa.tcp\) znajdują się następujące pliki: • sc_watcher.dll – główna biblioteka obsługi kart SmartCard • els_sc_reader_drv.dll – sterownik do odczytu kart ELS • mifare_sc_reader_drv.dll – sterownik do odczytu kart Mifare Konfiguracja programu wypożyczalni Należy otworzyć do edycji plik wypozyczalnia.ini i uzupełnić go o następujące sekcje: [DLL] PLIK=%INI%\sc_watcher.dll [SCARD] # Nazwa czytnika zarejestrowana w systemie. Może być pominięta reader_name=OMNIKEY CardMan 5x21-CL 0 # Sterownik konkretnego typu czytnika/karty driver=els_sc_reader_drv.dll debug=0 reactor=keyboard card_status_change_timeout=-1 time_to_wait_for_thread=1000 Znaczenie opcji konfiguracyjnych: reader_name Nazwa urządzenia (czytnika). Nazwę tę należy pobrać z listy urządzeń w managerze urządzeń systemu Windows. Jeśli w systemie występuje tylko jedno takie urządzenie, wówczas tą opcję należy wykomentować (stawiając znak # na początku linii). driver Plik sterownika do odczytu konkretnego typu czytnika/karty. W przypadku ELS należy wprowadzić wartość els_sc_reader_drv.dll, natomiast dla kart Mifare wartość mifare_sc_reader_drv.dll. debug Parametr diagnostyczny. W przypadku wystąpienia problemów z odczytem kart można ustawić wartość na 1 aby system generował informacje diagnostyczne. reactor Nazwa procedury obsługi odczytu karty. Wartość keyboard oznacza emulację klawiatury – numer odczytany z karty jest wprowadzany w bufor klawiatury i powoduje reakcję programu wypożyczalni. Wartość diagnostic powoduje wyświetlanie odczytanego numeru w oknie dialogowym. card_status_change_timeout Czas oczekiwania (zawieszenia wątku) na zmianę stanu czytnika (ms). Ta wartość ma wpływ na obciążenie procesora (im mniejsza tym większe obciążenie). Wartość = -1 oznacza całkowite blokowanie wątku w oczekiwaniu na zmianę stanu czytnika (najmniejsze obciążenie procesora). time_to_wait_for_thread Czas oczekiwania przez aplikację na zakończenie wątku podglądającego czytnik (ms). Konfiguracja kart Mifare W większości przypadków karty Mifare są zabezpieczone przed odczytem danych za pomocą kluczy autoryzacji. Ujawnienie ich firmie SOKRATES-software pozwala na odczyt danych zapisanych na karcie i wykorzystanie ich do identyfikacji czytelnika. W przypadku nie ujawnienia takich kluczy system SOWA może wykorzystać do identyfikacji unikalny numer seryjny odczytywanej karty. Należy uzupełnić sekcję SCARD pliku wypozyczalnia.ini o następujące parametry: #mifare_auth_key=ffffffffffff mifare_auth_apdu= mifare_read_apdu=FFCA000000 mifare_connect_delay=0 mifare_id_algo=1 Znaczenie opcji konfiguracyjnych: mifare_auth_key Klucz autoryzacji transportowej (hex). W przypadku nie ujawniania kluczy można parametr wykomentować (umieszczając znak # na początku linii). mifare_auth_apdu APDU autoryzujące. Jeśli nie trzeba sie autoryzować (np. odczyt tylko numeru seryjnego Mifare) to należy zostawić tę zmienną nieustawioną. mifare_read_apdu APDU odczytujące identyfikator karty. Dla standardowych kart typu SmardCard jest to wartość FFCA000000. mifare_connect_delay Czas oczekiwania pomiędzy zdarzeniem pojawienia się karty a próbą połączenia [ms]. mifare_id_algo Algorytm przekształcenia odczytanych bajtów na identyfikator. Standardowy algorytm ma numer 1. W przypadku WAT stosowany jest algorytm niestandardowy o numerze 0. Konfiguracja kart ELS Elektroniczna Legitymacja Studencka powinna być obowiązkowo zaprogramowana zgodnie z Rozporządzeniem Ministerstwa Edukacji i Sportu z 18 lipca 2005 – załącznik 3 „Wzór elektronicznej legitymacji studenckiej”. System SOWA potrafi odczytać tak zaprogramowaną kartę i identyfikować czytelnika na podstawie numeru seryjnego kartu, numeru PESEL lub numeru albumu studenta. Należy uzupełnić sekcję SCARD pliku wypozyczalnia.ini o następujące parametry: rid=000030 id_alias=A id_prefix=08 data_read_alg_id=0 Znaczenie opcji konfiguracyjnych: rid Identyfikator dostawcy aplikacji ELS (6 cyfr). id_alias Alias identyfikatora studenta (A-numer albumu, P-pesel, S-numer seryjny karty). id_prefix Prefix doklejany do odczytanego identyfikatora – możliwe są dwie kombinacje tego parametru: <znak><szerokość> (np. 08) powoduje uzupełnienie identyfikatora znakiem (np. 0) do podanej szerokości. <prefix>+<znak><szerokość> (np. 111+07) działa podobnie jak powyższa, przy czym dodatkowo identyfikator uzupełniany jest na początku stałym prefiksem (tu np. 111). data_read_alg_id Identyfikator algorytmu odczytującego kartę studenta/pracownika. Jeśli karta ELS jest poprawnie zaprogramowana przez dostawcę, wówczas należy ustawić wartość 0. Inne wartości są indywidualnie analizowane przez firmę SOKRATES-software w razie wystąpienia innej struktury zapisanej na karcie. Korzystanie z kart typu SmartCard w wypożyczalni Po wsunięciu lub zbliżeniu karty do czytnika program automatycznie wyszukuje czytelnika w systemie i wyświetla jego konto wypożyczeń i rezerwacji i umożliwia rejestrację nowych wypożyczeń i zwrotów. Zapisanie nowego czytelnika jest możliwe po przestawieniu systemu na ręczną numerację czytelników. Pojawia się wtedy pole do wpisania numeru czytelnika, które zostanie wypełnione po odczytaniu karty w czytniku. W przypadku gdy odczytywany numer nie odpowiada standardowej numeracji stosowanej w systemie (7 lub 10 cyfr) może zostać on zmodyfikowany przez parametr id_prefix, lub przez zastosowanie dodatkowego numeru czytelnika do identyfikacji tzw. barcode. W szczególnych przypadkach odpowiednio ustawiony prefiks identyfikatora umożliwia rozróżnianie przez system czytelników z kartą typu SmartCard i czytelników z tradycyjną kartą z kodem kreskowym.