Komponenty programistyczne SZAFIR® SDK to biblioteka, aplet Java oraz biblioteka SDKWrapper, udostępniające funkcjonalność składania i weryfikowania zwykłego i bezpiecznego podpisu elektronicznego oraz znakowania czasem, przeznaczone do integracji w rozwiązaniach firm trzecich, przy czym:
- Biblioteka programistyczna umożliwia wbudowanie funkcjonalności podpisu elektronicznego w aplikacje i systemy firm trzecich uruchamiane pod kontrolą systemu operacyjnego na stacji roboczej użytkownika.
- Aplet Java umożliwia wbudowanie funkcjonalności podpisu elektronicznego w aplikacje i systemy wykorzystujące do komunikacji z użytkownikiem interfejs przeglądarki WWW.
- SDKWrapper to biblioteka umożliwiająca korzystanie z funkcjonalności oferowanych przez bibliotekę SZAFIR SDK (z wyłączeniem Apletu) z poziomu aplikacji napisanych w języku C/C++. W szczególności możliwe jest wykorzystanie biblioteki w środowisku .NET.
Zarówno biblioteka jak i aplet Java umożliwiają składanie i weryfikację zwykłego oraz bezpiecznego podpisu elektronicznego w formatach XAdES (w wariantach XAdES-BES, XAdES-T, XAdES-C) oraz PKCS#7 (z możliwością znakowania czasem); możliwe jest także składanie e-podpisu wielokrotnego PKCS#7 oraz kontrasygnaty XAdES.
Ponadto, cechami odróżniającymi komponenty SZAFIR® od innych, oferowanych obecnie na rynku, są:
- Sposób konfigurowania oraz uruchamiania komponentów, wykluczający możliwość dokonywania przez użytkownika niepożądanych zmian w konfiguracji komponentów. Konfiguracja komponentu określana jest na etapie inicjalizacji komponentu przy użyciu struktury XML o zdefiniowanej budowie.
- Unikalne, wysokopoziomowe API o bardzo dużych możliwościach parametryzacji. Zlecenie wykonania zadań zarówno składania, jak i weryfikacji podpisu elektronicznego (oraz znakowania czasem) odbywa się poprzez przekazanie do komponentu struktury XML, w ramach której:
- zdefiniowane są zadania składania lub weryfikacji podpisu,
- przypisane są tym zadaniom właściwości (format e-podpisu, opcje znakowania czasem itp.),
- wskazane są obiekty danych, które mają być podpisane elektronicznie lub e-podpisy, które należy zweryfikować.
Należy przy tym zaznaczyć, że komponenty programistyczne wyposażone są w funkcjonalność pozwalającą na utworzenie takiej struktury w sposób automatyczny, na podstawie przekazanej im listy odniesień do danych, które należy podpisać, lub podpisów elektronicznych, które należy zweryfikować; utworzoną przy pomocy tej funkcjonalności strukturę można dowolnie modyfikować, szczegółowo określając tym samym sposób działania komponentów.
- Możliwość obsługi wielu obiektów danych po jednokrotnym uruchomieniu komponentu (ilość i zakres obsługi obiektów wynika z przekazanej do komponentu struktury XML zawierającej definicje zadań do wykonania).
- Składanie i weryfikowanie podpisów elektronicznych bez pośrednictwa systemu plików. Obiekty danych mogą być wskazywane komponentom (i zwracane do aplikacji lub systemu je wywołującego) poprzez ścieżki dostępu do plików bądź przekazywane do komponentów w ramach struktur XML w postaci obiektów Base64Binary.
Podpis elektroniczny wygenerowany przy użyciu komponentów programistycznych może mieć takie same cechy jak ten wygenerowany przy pomocy aplikacji SZAFIR.
Wymagania techniczne dla komponentów programistycznych SZAFIR SDK:
- Systemy operacyjne
- Windows 2000/ XP/ 2003/ Vista
- Linux (dystrybucja Ubuntu)
- Urządzenia do składania podpisu
- oprogramowanie middleware wykorzystujące interfejs PKCS#11 (w wersji 2.01 lub wyższej) lub Microsoft CryptoAPI;
- czytnik kart kryptograficznych zgodny ze specyfikacją PC/SC;
- karta współpracująca z dowolnym, standardowym czytnikiem kart zgodnym z PC/SC.
- Oprogramowanie dodatkowe
- Java w wersji 1.5 lub wyższej.