Narzędzia programistyczne

Narzędzia programistyczne

 

Dla tych, którzy tworzą własne rozwiązania oparte
o podpis elektroniczny.

Komponenty programistyczne Szafir SDK to biblioteka, Wrapper dla C/C++/.NET oraz Szafir SDK Web Module, a w nim: aplet Java, rozszerzenie Szafir SDK Web wraz z aplikacją SzafirHost, udostępniające funkcjonalność składania i weryfikacji podpisu elektronicznego oraz pieczęci, w tym w oparciu o kwalifikowane certyfikaty i znakowanie czasem dokumentów. 

 

Narzędzia te służą do integracji w rozwiązaniach firm trzecich:

  • biblioteka programistyczna – umożliwia wbudowanie funkcjonalności podpisu elektronicznego/ pieczęci elektronicznej oraz znakowania czasem w aplikacje i systemy firm trzecich, uruchamiane pod kontrolą systemu operacyjnego na stacji roboczej użytkownika,
     
  • Szafir SDK Web Module – biblioteka javascript umożliwia wbudowanie funkcjonalności podpisu elektronicznego w aplikacje i systemy wykorzystujące do komunikacji z użytkownikiem interfejs przeglądarki WWW. Biblioteka ta udostępnia uniwersalny interfejs pozwalający na użycie:
    • dedykowanego rozszerzenia Szafir SDK Web oraz aplikacji SzafirHost w przeglądarkach niezgodnych z NPAPI (Google Chrome >45, Opera>37, FireFox >= 52, Microsoft Edge => 81 na silniku Chromium),
    • apletu java (Szafir SDK Aplet) w przeglądarkach zgodnych z protokołem NPAPI (Internet Explorer 11, Firefox < 52),
  • SDKWrapper – biblioteka DLL, która umożliwia korzystanie z funkcjonalności oferowanych przez bibliotekę Szafir SDK z poziomu aplikacji napisanych w języku C/C++. W szczególności możliwe jest wykorzystanie biblioteki w środowisku .NET.
     

Zarówno biblioteka programistyczna, jak i Szafir SDK Web Module, umożliwiają składanie i weryfikację podpisu elektronicznego, w tym kwalifikowanego, w formatach:

  • CAdES (PKCS#7) – aplikacja obsługuje warianty: CAdES-BES, CAdES-T oraz umożliwia składanie podpisu wielokrotnego,
  • XAdES – aplikacja obsługuje warianty: XAdES-BES, XAdES-T, XAdES-C, XAdES-A oraz umożliwia składanie podpisu wielokrotnego, kontrasygnaty czy podpisu otaczanego,
  • PAdES – aplikacja obsługuje warianty: PAdES-BES, PAdES-T, PAdES-LTV,
  • ASiC-S – aplikacja obsługuje warianty: ASiC-S-CAdES-BES, ASiC-S-XAdES-BES, ASiC-S-CAdES-T, ASiC-S-XAdES-T.

Cechy wyróżniające komponenty Szafir SDK spośród  innych oferowanych obecnie na rynku:
 

  • składanie i weryfikacja podpisów elektronicznych oraz pieczęci elektronicznych we wszystkich formatach dopuszczonych przez eIDAS,
  • oznaczenie czasem dokumentów podpisywanych lub opatrywanych pieczęcią,
  • znakowanie czasem dokumentów zarówno na etapie składania, jak i weryfikacji podpisów oraz pieczęci,
  • obsługa list TSL umożliwiająca weryfikację podpisów i pieczęci z krajów UE,
  • podpisywanie dokumentów i weryfikacja podpisów z użyciem e-Dowodu (podpis osobisty, podpis kwalifikowany),
  • praca w środowiskach wielowątkowych,
  • możliwość działania pod kontrolą każdego systemu operacyjnego, na którym zainstalowane jest środowisko Java Oracle w wersji 1.6 lub wyższej lub OpenJDK (preferowana wersja to AdoptOpenJDK),
  • 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,
  • komunikacja z urządzeniami kryptograficznymi (karta kryptograficzna lub moduł kryptograficzny HSM) z wykorzystaniem PKCS#11,
  • obsługa kart kryptograficznych wydawanych przez wszystkie kwalifikowane centra certyfikacji działające na polskim rynku,
  • obsługa modułów kryptograficznych HSM, takich jak nCipher nShield Connect, Utimaco CP5, SafeNet Luna,
  • unikalne, wysokopoziomowe API o bardzo dużych możliwościach parametryzacji. Zlecenie wykonania zadań zarówno składania, jak i weryfikacji podpisu elektronicznego, pieczęci elektronicznej oraz znakowania czasem, odbywa się poprzez przekazanie do komponentu struktury XML, w ramach której:
    • zdefiniowane są zadania składania i weryfikacji podpisu lub pieczęci,
    • przypisane są tym zadaniom właściwości (format podpisu/pieczęci, opcje znakowania czasem itp.),
    • wskazane są obiekty danych, które mają być podpisane/opatrzone pieczęcią lub podpisy/pieczęci, które należy zweryfikować,
  • 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 oraz pieczęci 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,
  • odczyt oraz zapis podpisów za pośrednictwem protokołów HTTP/HTTPS,
  • masowe i szybkie składanie oraz weryfikacja podpisów i pieczęci poprzez:
    • wskazywanie wielu plików do strumieniowego podpisania oraz opatrzenia pieczęcią lub do weryfikacji,
    • w przypadku przechowywania pary kluczy na karcie – określenie limitu czasu lub limitu ilości operacji kryptograficznych, do osiągnięcia których możliwe będzie wykorzystywanie komponentu technicznego po jednokrotnym podaniu kodu PIN,
  • możliwość szyfrowania i deszyfrowania plików przy pomocy certyfikatów niekwalifikowanych algorytmami DES3 i AES,
  • możliwość umieszczenia w pliku PDF graficznej prezentacji podpisu lub pieczęci w momencie składania podpisu,
  • możliwość podglądu wielu formatów podpisywanych i weryfikowanych dokumentów w Szafir SDK bez konieczności otwierania plików w aplikacji zewnętrznej,
  • możliwość obsługi podpisu legitymacji doktoranta – format ELD (Elektroniczna Legitymacja Doktoranta) oraz studenta – format ELS (Elektroniczna Legitymacja Studenta)
  • dokumentacja w języku polskim i angielskim.
Wymagania techniczne dla komponentów programistycznych Szafir SDK:
Systemy operacyjne
  • Windows 7/8/10 
  • Windows Serwer 2008 R2/2012/2016
  • Linux (dystrybucja w zależności od dostępności urządzeń kryptograficznych)
  • Mac OS (dystrybucja w zależności od dostępności urządzeń kryptograficznych)

Urządzenia do składania podpisu

  • oprogramowanie middleware wykorzystujące interfejs PKCS#11 (w wersji 2.01 lub wyższej) 
  • czytnik kart kryptograficznych zgodny ze specyfikacją PC/SC
  • karta współpracująca z dowolnym, standardowym czytnikiem kart zgodnym z PC/S.C.
  • obsługa modułów kryptograficznych HSM (Hardware Security Module) poprzez interfejs PKCS#11

Oprogramowanie dodatkowe

Java w wersji min. 1.6 (rekomendowana w wersji 1.8 lub wyższej). Możliwość działania w środowisku Java zarówno od firmy Oracle, jak i OpenJDK (preferowana wersja to AdoptOpenJDK).

 

Nasi klienci:

  • ALAB laboratoria
  • Białystok
  • Michelin
  • Luxmed
  • Wasko
  • Warmia i Mazury
  • Synevo
  • Siemens
  • Puławy
  • Katolicki Uniwersytet Lubelski
  • Diagnostyka