Biblioteka LibGovPL4 – obsługa KSeF, JPK, e-deklaracja, XAdES

Biblioteka LibGovPL4 – obsługa KSeF, JPK, e-deklaracja, XAdES
MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

LibGovPL4 to biblioteka do obsługi komunikacji z serwerami KSeF oraz bramkami JPK i e-deklaracji stworzona w języku Free Pascal (Windows/Unix, 32bit/64bit).

Obsługa bramki e-deklaracji i JPK

  • podpisywanie danymi autoryzującymi lub podpisem kwalifikowanym
  • wysyłanie dokumentów
  • sprawdzenie statusu i pobranie UPO.

Obsługa komunikacji z serwerami KSeF
Obsługa większości funkcji API KSeF, zapytania i odpowiedzi mapowane są do obiektów.

  • Sesja interaktywna
    ** nawiązywanie sesji przy pomocy tokena, podpisu kwalifikowanego lub Profilu Zaufanego
    ** obsługa dodatkowego szyfrowania AES przesyłanych dokumentów
    ** wysyłanie faktur, wyszukiwanie i pobieranie faktur (synchronicznie i asynchronicznie)
    ** pobieranie UPO
    ** zarządzanie uprawnieniami
    ** ukrywanie faktur, raportowanie scamu
    ** generowanie identyfikatorów wewnętrznych
  • Wysyłka wsadowa
    ** przygotowanie wysyłki podpisem kwalifikowanym lub Profilem Zaufanym
    ** wysłanie paczki dokumentów
    ** pobranie statusu przetwarzania i UPO
  • Interfejsy wspólne
    ** pobranie faktury
    ** pobranie statusu faktury
    ** weryfikacja faktury

Prosta implementacja XAdES – obsługa podpisu przez systemowe biblioteki CryptoAPI/CNG (Windows) lub bibliotekę PKCS#11 (CryptokiAPI – Windows/Unix).

Weryfikacja struktury pliku XML na podstawie szablon XSD (MSXML pod Windows oraz libxml2 pod Windows/Unix).

Podstawowe elementy biblioteki są wymienialne, np. do szyfrowania AES można użyć systemowych bibliotek Windows CryptoAPI/CNG lub opartych na bibliotece DCPcrypt.

Biblioteka nie wykorzystuje komercyjnych komponentów – dostarczam pełen kod źródłowy.
W zależności od użytych podstawowych elementów biblioteki może występować zależność do dodatkowych bibliotek współdzielonych:

  • libxml2 – funkcje C14N (jeśli plik XML e-deklaracji nie będzie dostarczany w formie C14N), w przypadku wykorzystywania jako podstawowego elementu dostępu do zawartości plików XML (może zostać zastąpiony przez MSXML lub natywny fcl-xml) lub weryfikacji struktury pliku XML (może zostać zastąpiony przez MSXML w systemie Windows).
  • OpenSSL – w przypadku połączeń HTTPS (w środowisku Windows może zostać zastąpiony przez WinHTTP).

Możliwość skompilowania biblioteki w formie biblioteki współdzielonej (.dll/.so) co umożliwia użycie biblioteki w innych językach programowania – dostępny jest interfejs dla języka Delphi w dowolnej wersji (testowano z Delphi 7 i nowszymi, https://github.com/michalgw/LibGovPL4Demo/tree/main/library/intf).

Wystawiam fakturę VAT i zapewniam wsparcie oraz dostęp do aktualizacji przez okres jednego roku.

W przygotowaniu biblioteka ActiveX/COM.

Przykłady i źródła biblioteki współdzielonej: https://github.com/michalgw/LibGovPL4Demo

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Udostępniłem wstępną wersję biblioteki w formie biblioteki COM/OLE Automation:
https://github.com/michalgw/LibGovPL4Demo/releases/tag/4.1.1
W paczce znajduje się również dokumentacja.

Dostępne są również przykładowe projekty dla Lazarusa, Delphi, PowerShell i C#. Będę na bieżąco uzupełniał przykłady.

Plik IDL z definicją interfejsów dostępny jest w repozytorium:
https://github.com/michalgw/LibGovPL4Demo/blob/main/comsvr/libgovpl4com.idl

Zainteresowanych zachęcam do testowania i zgłaszania uwag.

marian pazdzioch
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 790
0

Ile kosztuje?

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0
marian pazdzioch napisał(a):

Ile kosztuje?

O cenę i warunki proszę pytać na priv.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Zaktualizowałem bibliotekę o nowe funkcje dotyczące deklaracji XML:

  • Walidacja XML na podstawie schematów XSD.
  • Transformacja XML na podstawie szablonu XSLT.

Obie funkcje dostępne są z wykorzystaniem sterowników MSXML i LibXML2. Schematy i szablony dla deklaracji, plików JPK i FA pobierane są automatycznie ze strony crd.gov.pl. W przypadku biblioteki LibXML2 pobrane schematy mogą być "cachowane" lokalnie.

https://github.com/michalgw/LibGovPL4Demo/releases/tag/4.1.2

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Cześć,
Chciałbym przedstawić nową wersję biblioteki LibGovPL zawierającą wstępną obsługę API KSeF 2.0.

Zmiany:

  • obsługa podpisu EC-DSA.
  • nowa grupa sterowników zaplecza oparta o bibliotekę OpenSSL 3.x (szyfrowanie AES, szyfrowanie RSA, podpis certyfikatem).
  • możliwość wczytania certyfikatu i klucza prywatnego ze strumienia (certyfikat w formacie PEM lub DER + klucz prywatny w formacie PEM lub DER, certyfikat i klucz prywatny w kontenerze PKCS#12, plik PFX, p12).
  • połączono klasy TlgRSAKey i TlgRSAEncryption w jedną.
  • dodano obsługę szyfrowania RSA-OAEP.
  • usunięto konieczność wskazywania obiektu TlgCertificateSigner, obiekt TlgCertificate posiada referencje do obiektu TlgCertificateSigner.
  • rozbudowano klasę TlgCertificate o wszystkie podstawowe pola certyfikatu X509.
  • wstępna obsługa API KSeF 2.0 (autoryzacja certyfikatem lub tokenem, wysyłka interaktywna, wysyłka wsadowa, pobieranie statusu i UPO, wyszukiwanie pobieranie faktur i paczek faktur, tokeny KSeF, dane testowe).

Skompilowany przykładowy projekt dostępny na GitHub:
https://github.com/michalgw/LibGovPL4Demo/releases/download/4.1.90/libgovpl4demo_4_1_90beta.zip

Obecnie pracuję nad biblioteką DLL i interfejsem dla Delphi obecnej funkcjonalności klienta KSeF (przypuszczalny termin to koniec tego tygodnia lub początek przyszłego).
Następnie obecną funkcjonalność zaimplementuję w bibliotece COM/Automation.
W listopadzie planuję dokończyć budowę klienta KSeF (generowanie kluczy prywatnych i CSR, zarządzanie uprawnieniami, tryb offline i generowanie QR, itp...).

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Biblioteka współdzielona jest gotowa:
https://github.com/michalgw/LibGovPL4Demo/releases/download/4.1.91/libgovpl4demo_4_1_91beta.zip

UWAGA!
Pracuję nad natywną wersją kodu dla Delphi (bez potrzeby korzystania z z biblioteki współdzielonej). Zapewniam wsparcie dla wersji Delphi od 7 do najnowszej. W przyszłym tygodniu powinienem mieć gotowy kod.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Biblioteka dla Delphi jest gotowa. Powinna działać z dowolną wersją od 7 do najnowszej. Przetestowano z wersjami 7, 2006 i 10.1. Nie wymaga żadnych bibliotek DLL.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Biblioteka OLE/Automation gotowa do testowania:
https://github.com/michalgw/LibGovPL4Demo/releases/download/4.1.99/libgovpl4demo_4_1_99beta.zip
Paczka zawiera również dokumentacje (niepełną).

Tutaj plik IDL dla biblioteki:
https://github.com/michalgw/LibGovPL4Demo/blob/main/comsvr/libgovpl4com.idl

Bibliotekę w takiej formie można używać w dowolnym środowisku programistycznym i skryptowym, obsługującym COM/Automation (np. VBA w Excelu, klasyczny VB, Harbour, starsze wersje .net, itp).
Biblioteka zawiera odpowiedni manifest, więc istnieje możliwość używania bez rejestracji w systemie.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.