sgcSign Features Reference

Pełny katalog funkcji zestawu podpisów cyfrowych sgcSign — standardy podpisów, dostawcy kluczy, profile krajowe, walidacja, integracja z listą zaufanych UE oraz raporty walidacyjne ETSI dla Delphi 7 do Delphi 13 Florence, C++Builder i .NET.

Trzy warstwy, jeden silnik

sgcSign rozdziela zarządzanie kluczami, operacje podpisywania i formaty wyjściowe. Łącz dowolnego dostawcę kluczy z dowolnym signerem; przełącz się między lokalnym PFX a chmurowym KMS, zmieniając jeden komponent.

Key Providers (IsgcKeyProvider)

Dostęp do certyfikatu i klucza prywatnego ukryty za jednym interfejsem. Pliki lokalne, magazyn certyfikatów Windows, tokeny sprzętowe PKCS#11, Azure / AWS / Google Cloud KMS, HashiCorp Vault, Certum SimplySign i zdalne QTSP CSC v2.

Signers

Wyspecjalizowane signery dla każdego formatu ETSI: TsgcXAdESSigner, TsgcPAdESSigner, TsgcCAdESSigner, TsgcAuthenticodeSigner. Oraz TsgcDocumentSigner — ujednolicone API wysokiego poziomu, które wybiera i konfiguruje właściwy signer z profilu krajowego. TsgcSAFTPTSigner generuje podpis faktury zgodny z portugalskim Portaria 363/2010.

Support Components

TsgcTSAClient (RFC 3161 timestamps), TsgcOCSPClient (revocation), TsgcSignatureVerifier (validation), TsgcX509Certificate (dekoder certyfikatów + weryfikacja wystawcy), TsgcEUTrustList (LOTL/EUTL), TsgcASiCContainer (ASiC-S/ASiC-E ZIP packaging).

XAdES, PAdES, CAdES, ASiC & Authenticode

Pełne pokrycie formatów podpisów ETSI na wszystkich czterech poziomach AdES (B-B, B-T, B-LT, B-LTA) oraz Microsoft Authenticode do podpisywania kodu.

XAdES — ETSI EN 319 132

Zaawansowane podpisy elektroniczne XML. Tryby enveloped, detached i enveloping. Poziomy B-B / B-T / B-LT / B-LTA. SignatureParentElement dla formatów kopert wymagających określonego miejsca podpisu (KSeF /v2/auth/xades-signature). Znaki diakrytyczne polskie, hiszpańskie i niemieckie przez przeciążenia WideString od Delphi 7+.

PAdES — ETSI EN 319 142

Zaawansowane podpisy elektroniczne PDF. Podpisy osadzone w pliku PDF; widoczny wygląd podpisu z nazwą podpisującego, powodem, lokalizacją, danymi kontaktowymi i konfigurowalnym prostokątem. Zgodny z Adobe Acrobat. Poziomy PAdES-T, -LT przez TSA + OCSP.

CAdES — ETSI EN 319 122

Binarne podpisy CMS/PKCS#7 dla dowolnego pliku lub strumienia danych. Formy odłączone i dołączone. CAdES-BES, CAdES-T (z sygnaturą czasową), CAdES-XL (długoterminowe z wartościami unieważnienia).

ASiC-S / ASiC-E — ETSI EN 319 162

Kontenery skojarzone z podpisem. Archiwum ZIP łączące jeden lub więcej dokumentów z podpisem XAdES lub CAdES. Prosty (apASiCS, jeden dokument) lub rozszerzony (apASiCE, manifest + wiele dokumentów). Pierwszy wpis ZIP jest nieskompresowanym znacznikiem mimetype, by weryfikatory wykryły kontener w pierwszych ~50 bajtach.

Authenticode — Code Signing

Microsoft Authenticode dla plików PE systemu Windows (.exe, .dll, .sys, .ocx, .cpl, .scr). Algorytmy skrótu SHA-1, SHA-256 (domyślny), SHA-384 i SHA-512. Tokeny sygnatur czasowych RFC 3161. Zagnieżdżone (podwójne) podpisy dla zgodności z weryfikatorami starszymi i nowoczesnymi. Dostępne w sgcSign Server. Opcjonalne skróty stron, odpowiednik signtool sign /ph, dzięki którym Windows może weryfikować każdą stronę 4 KB sterownika trybu jądra (Integralność pamięci, HVCI).

AdES Levels — B-B / B-T / B-LT / B-LTA

Wszystkie cztery poziomy zgodności ETSI obsługiwane dla każdego formatu: B-B (podstawowy), B-T (sygnatura czasowa), B-LT (długoterminowy, z wartościami unieważnienia), B-LTA (archiwalny, z archiwalną sygnaturą czasową). Awansuj podpis z B-B do B-LT, dodając klienta TSA i serwer OCSP.

Lokalne, sprzętowe, chmurowe i zdalne QTSP

Każdy dostawca implementuje IsgcKeyProvider. Przełączaj się między dowolnymi źródłami kluczy bez zmiany kodu podpisującego.

Komponent Typ Zastosowanie
TsgcPFXKeyProvider Local file (PKCS#12) Pliki PFX/.p12 chronione hasłem. Natywna obsługa Windows CNG w systemie Windows, czysty Pascal na pozostałych platformach.
TsgcPEMKeyProvider Local file (PEM) Certyfikaty PEM z zaszyfrowanymi kluczami PKCS#8. Natywne deszyfrowanie PBES2 / PBKDF2 / AES-CBC — nie wymaga biblioteki DLL OpenSSL.
TsgcWindowsCertStoreProvider Windows store Magazyny maszyny lokalnej i bieżącego użytkownika. Integracja z Active Directory i zasadami grupy.
TsgcPKCS11Provider Hardware token Karty inteligentne i HSM przez sterownik PKCS#11 — SafeNet, YubiKey, Nitrokey, Thales, Utimaco itp.
TsgcAzureTrustedSigningProvider Cloud (Microsoft) Azure Trusted Signing — kwalifikowana usługa podpisywania Microsoft. Poświadczenia klienta OAuth2. Odrębna od Azure Key Vault.
TsgcAWSKMSKeyProvider Cloud (AWS) Usługa zarządzania kluczami AWS. Klucze pozostają w AWS; sieć opuszczają tylko skróty dokumentów.
TsgcGCloudKMSKeyProvider Cloud (Google) Zarządzanie kluczami Google Cloud. Uwierzytelnianie kontem usługi.
TsgcHashiCorpVaultKeyProvider Cloud (self-hosted) Silnik podpisywania tranzytowego HashiCorp Vault. Klucze nigdy nie opuszczają klastra Vault.
TsgcCertumSimplySignProvider Remote QTSP Certum SimplySign — kwalifikowany polski dostawca podpisu elektronicznego. Zgodny z KSeF, ZUS, PUE.
TsgcCSCKeyProvider Remote QTSP (CSC v2) Ogólny klient Cloud Signature Consortium v2 — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group i każdy QTSP udostępniający API CSC v2.

Europejskie e-fakturowanie i podpisywanie umów o pracę

Każdy profil wstępnie dostosowuje algorytm skrótu, kanonizację, poziom podpisu, politykę sygnatur czasowych RFC 3161 i oczekiwania dotyczące unieważnienia OCSP, aby spełnić wymagania regulatora docelowego kraju. Zmień jurysdykcję jedną linią.

Profile e-fakturowania (12)

Profil Kraj System Format Poziom
spVeriFactuSpainVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAISpain (Basque)TicketBAIXAdES-EPESB-B
spFacturaeB2BSpainFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAItalyFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortugalSAF-T PTRSA-SHA256B-B
spKSeFPolandKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFrance / GermanyFactur-X / ZUGFeRDXAdESB-B
spEFacturaRomaniae-Factura (ANAF)XAdESB-T
spNAVOnlineHungaryNAV OnlineXML-DSigB-B
spFiskalizacijaCroatiaFiskalizacijaXML-DSigB-B
spPeppolBEBelgiumPeppol UBL 2.0XAdESB-T
spPeppolBGBulgariaPeppol UBL 2.1XAdESB-T
spMyDATAGreecemyDATA (AADE)XAdESB-B

Portugalia: poza podpisaniem samego pliku SAF-T (PT), dedykowany komponent TsgcSAFTPTSigner generuje podpis pojedynczej faktury zgodny z Portaria 363/2010, czyli podpis RSA-SHA1, którego cztery znaki na pozycjach 1, 11, 21 and 31 są drukowane na fakturze i przenoszone w polu Q kodu QR.

TicketBAI: warianty dla poszczególnych prowincji spTicketBAIAraba, spTicketBAIBizkaia i spTicketBAIGipuzkoa zawierają oficjalny identyfikator polityki podpisu oraz skrót SHA-256 właściwej dla danej prowincji Hacienda. spTicketBAI odwzorowuje się na parę Bizkaia w celu zachowania zgodności z poprzednimi wersjami.

Czeska EET 2.0: ewidencja sprzedaży (Elektronická evidence tržeb) nie jest profilem podpisu, ma własny komponent, TsgcEETClient. Podpisuje on każdą zarejestrowaną sprzedaż zgodnie z WS-Security, wysyła ją do organu podatkowego i odczytuje kod potwierdzenia, czyli pok. Raportowanie rozpoczyna się 1 stycznia 2027 r. Więcej o EET 2.0.

Profile umów o pracę UE (9)

Podpisy zgodne z eIDAS spełniające wymagania prawa pracy państw członkowskich (np. § 126a BGB w Niemczech, FEQ we Włoszech). Wstępnie dostrojone dla każdej jurysdykcji; ładowane do TsgcXAdESSigner przez Profile.LoadProfile(spEmploymentXX).

Profil Kraj Poziom Skrót Sygnatura czasowa OCSP Uwagi
spEmploymentDEGermanyB-LTSHA-256YesYesQES wymagany przez § 126a BGB dla umów w formie pisemnej.
spEmploymentITItalyB-LTSHA-256YesYesPodpis kwalifikowany FEQ; portale INPS akceptują XAdES i CAdES.
spEmploymentESSpainB-TSHA-256YesNoAdES wystarczający. Portale SEPE / TGSS wymagają FNMT lub DNIe.
spEmploymentFRFranceB-TSHA-256YesNoAdES OK; QES preferowany do podpisywania zdalnego na podstawie DSP2 / RGS.
spEmploymentATAustriaB-LTSHA-256YesYesQES przez Handy-Signatur / ID Austria — powszechne.
spEmploymentBEBelgiumB-LTSHA-256YesYesQES przez kartę eID (BeID).
spEmploymentPTPortugalB-LTSHA-256YesYesQES przez Cartão do Cidadão / Chave Móvel Digital.
spEmploymentNLNetherlandsB-TSHA-256YesNoAdES ogólnie akceptowany; QES dla niektórych portali HR (UWV).
spEmploymentPLPolandB-TSHA-256YesNoQES przez Profil Zaufany lub certyfikat kwalifikowany, gdy umowa trafia do ZUS / PUE.

Zbuduj, zwaliduj i podpisz samą fakturę

Dostępne od sgcSign 2026.12. Wypełnij typowaną fakturę opartą na EN 16931, pozwól bibliotece obliczyć sumy, sprawdź reguły biznesowe i zapisz dokument w formacie wymaganym przez odbiorcę lub organ podatkowy. Profile krajowe podpisują wynik, a klienty go wysyłają. Dla Delphi 7 do Delphi 13 i .NET, w zestawie z sgcSign.

Typowany model faktury

TsgcInvoice: Typowany model semantycznego modelu danych EN 16931: sprzedawca, nabywca, płatność, pozycje, rabaty i opłaty dodatkowe. CalculateTotals wypełnia kwoty netto pozycji, zestawienie VAT i sumy dokumentu.

UBL 2.1 i CII

TsgcInvoiceUBL, TsgcInvoiceCII: Zapis i odczyt dokumentów UBL 2.1 Invoice i CreditNote oraz UN/CEFACT Cross Industry Invoice D16B. Model nie zawiera XML, więc tę samą fakturę można zapisać w obu składniach.

XRechnung, Peppol BIS i Factur-X

TsgcInvoiceFacturX, TsgcInvoiceDocument: XRechnung w UBL lub CII, Peppol BIS Billing 3.0 w UBL oraz XML pięciu profili Factur-X / ZUGFeRD: Minimum, Basic WL, Basic, EN 16931 i Extended.

Walidacja

TsgcInvoiceValidator: Reguły biznesowe EN 16931 oraz zestawy reguł XRechnung i Peppol BIS Billing 3.0, zakodowane natywnie i uruchamiane na modelu. Każdy komunikat zawiera identyfikator reguły, termin biznesowy i ścieżkę pola.

Formaty krajowe

TsgcInvoiceFacturae, TsgcInvoiceFatturaPA, TsgcInvoiceKSeF: Zapis hiszpańskiego formatu Facturae 3.2, 3.2.1 i 3.2.2, włoskiego FatturaPA 1.2.3 (FPR12 i FPA12) oraz polskiej faktury ustrukturyzowanej KSeF FA(3).

VeriFactu i TicketBAI

TsgcInvoiceVeriFactu, TsgcInvoiceTicketBAI: Rekordy fakturowania VERI*FACTU, rejestracja i anulowanie, z łańcuchowym skrótem SHA-256 i kodem QR. Pliki faktur i anulowań TicketBAI 1.2.2 z powiązaniem z poprzednią fakturą, identyfikatorem TBAI i kodem QR.

Klienty wysyłki

TsgcVeriFactuClient, TsgcSdIClient, TsgcKSeFOnlineClient: Wysyłanie rekordów VERI*FACTU do usługi sieciowej AEAT, przekazywanie plików FatturaPA do włoskiego Sistema di Interscambio (SdI) wraz z analizą jego powiadomień oraz wysyłanie e-faktur do KSeF w sesji interaktywnej ze sprawdzaniem statusu i odbiorem UPO.

Wysyłka przez sieć Peppol

TsgcPeppolClient, TsgcPeppolSMPClient: Wyszukiwanie uczestnika przez SML i SMP z weryfikacją podpisanej odpowiedzi SMP, koperta SBDH i komunikat AS4 profilu Peppol AS4. SendInvoice wykonuje wyszukiwanie, kopertę, wysyłkę i weryfikację potwierdzenia w jednym wywołaniu i zapisuje podpisane potwierdzenie. Wysyłka wymaga bycia akredytowanym punktem dostępowym Peppol, zobacz wymagania poniżej.

Jeden komponent dla całego procesu

TsgcInvoiceDocument: Wybierz format, wypełnij fakturę i wywołaj Build. Komponent oblicza sumy, waliduje fakturę zestawami reguł danego formatu, zapisuje dokument i podpisuje go profilem podpisu przypisanym do formatu.

Aplikacja sgcInvoice

sgcInvoice: Aplikacja desktopowa dla Windows przeznaczona dla małej firmy, dołączona do sgcSign jako skompilowany program oraz z pełnym kodem źródłowym w Delphi. Obejmuje przychody (faktury, płatności, pliki PDF faktur), wydatki, kontrahentów, produkty, analizy, raporty, a dla firmy mającej siedzibę w Hiszpanii także zeznania podatkowe. Eksportuje fakturę jako UBL, CII, Peppol BIS, XRechnung, Factur-X EN 16931 (plik XML), Facturae, FatturaPA lub KSeF FA(3), waliduje ją zestawem reguł formatu przed zapisem i podpisuje certyfikatem z magazynu certyfikatów Windows lub z pliku PFX. Interfejs i pliki PDF faktur w ośmiu językach. Zobacz sgcInvoice na stronie produktu.

Formaty: zapis i odczyt

Format Klasa Zapis Odczyt
UBL 2.1 Invoice i CreditNoteTsgcInvoiceUBLTakTak
UN/CEFACT CII D16BTsgcInvoiceCIITakTak
XRechnung, UBL lub CIITsgcInvoiceDocumentTakTak
Peppol BIS Billing 3.0, UBLTsgcInvoiceDocumentTakTak
Factur-X / ZUGFeRD XML, pięć profiliTsgcInvoiceFacturXTakTak
Facturae 3.2, 3.2.1 i 3.2.2TsgcInvoiceFacturaeTakNie
FatturaPA 1.2.3TsgcInvoiceFatturaPATakNie
KSeF FA(3)TsgcInvoiceKSeFTakNie
Rekordy VERI*FACTUTsgcInvoiceVeriFactuTakNie
TicketBAI 1.2.2TsgcInvoiceTicketBAITakNie

Zakres: UBL i CII wraz z wariantami XRechnung, Peppol BIS i Factur-X można odczytać z powrotem do modelu. Formaty krajowe są tylko do zapisu. SdI przekazuje nadawcy swoje punkty końcowe podczas akredytacji kanału. Faktury KSeF są przez komponent wysyłane, ale nie podpisywane, ponieważ KSeF nie podpisuje XML faktury.

Wysyłka przez sieć Peppol: Nowość w sgcSign 2026.12, dla Delphi 7 do Delphi 13 i .NET. TsgcPeppolSMPClient wyszukuje uczestnika przez SML i SMP i weryfikuje podpisaną odpowiedź SMP. TsgcPeppolSBDH i sgcPeppolWrapInvoice zapisują kopertę komunikatu biznesowego Peppol (SBDH). TsgcPeppolAS4Message i TsgcPeppolAS4Receipt implementują komunikat AS4 profilu Peppol AS4: podpisany algorytmem RSA-SHA256, ładunek skompresowany gzip i zaszyfrowany AES-128-GCM, transport klucza RSA-OAEP. TsgcPeppolClient wykonuje wyszukiwanie, kopertę, wysyłkę i weryfikację potwierdzenia w jednym wywołaniu (SendInvoice, Resend), zapisuje podpisane potwierdzenie i zwraca obiekt wyniku z kodami błędów. Nie są potrzebne żadne zewnętrzne biblioteki: kod kryptografii, XML i AS4 jest częścią biblioteki. Dema: Demos\Delphi\Peppol i Demos\CBuilder\Peppol.

Wymagania i ograniczenia Peppol: Wysyłka w sieci Peppol wymaga bycia akredytowanym punktem dostępowym Peppol (dostawcą usług) z certyfikatem punktu dostępowego wydanym przez OpenPeppol. Biblioteka implementuje protokół i nie dostarcza certyfikatu ani akredytacji. Firmy korzystające z dostawcy usług zwykle wysyłają za jego pośrednictwem. Biblioteka tylko wysyła: nie ma punktu dostępowego odbierającego ani raportowania Peppol. Wyszukiwanie uczestnika nie wymaga certyfikatu. Nadawca został przetestowany pod kątem interoperacyjności z serwerem AS4 open source phase4 (wersja 4.9.0) na lokalnej testowej PKI: każdy komunikat został przyjęty, a każde potwierdzenie zweryfikowane, z bibliotekami Delphi i .NET. Nie był uruchamiany na produkcyjnym punkcie dostępowym ani z prawdziwymi certyfikatami Peppol.

Weryfikuj tak jak UE

Pełny potok walidacji wraz z integracją listy zaufanych UE i ustandaryzowanym raportem walidacji XML ETSI TS 119 102-2 — prawny dowód ważności podpisu akceptowany przez unijne sądy pracy i weryfikatory administracji publicznej.

Weryfikacja podpisu z LTV

TsgcSignatureVerifier obejmuje pełny potok: sprawdzenie skrótów, weryfikację podpisu RSA / ECDSA, walidację łańcucha certyfikatów, sprawdzenie unieważnienia OCSP, osadzone RevocationValues dla walidacji długoterminowej oraz wyszukiwanie fragmentów na podstawie Id dla SignedProperties.

EU Trust List (LOTL / EUTL)

TsgcEUTrustList przetwarza listę ETSI TS 119 612 List of Trusted Lists oraz ~31 list zaufanych dla każdego państwa członkowskiego. Klasyfikuj dowolny certyfikat X.509 jako kwalifikowany eIDAS, sprawdzając go w bieżącym rejestrze UE. Buforowanie w trybie offline dla środowisk odizolowanych.

ETSI TS 119 102-2 Validation Report

Ustandaryzowany raport walidacji XML (v1.2.1) generowany dla każdej weryfikacji — format akceptowany przez unijne sądy pracy i weryfikatory administracji publicznej jako prawny dowód ważności podpisu.

RFC 3161 Timestamping

TsgcTSAClient łączy się z dowolnym urzędem sygnatur czasowych RFC 3161. Awansuje podpisy z B-B do B-T, B-LT i B-LTA — weryfikowalne długo po wygaśnięciu certyfikatu podpisującego.

OCSP Revocation

TsgcOCSPClient wykonuje sprawdzenia statusu certyfikatu online zgodnie z RFC 6960. Unieważnienie w czasie rzeczywistym, z odpowiedzią OCSP osadzoną w podpisach B-LT, dzięki czemu dokument pozostaje weryfikowalny po późniejszym przejściu serwera w tryb offline.

Dekoder certyfikatów X.509 i sprawdzenie wystawcy

TsgcX509Certificate udostępnia każde pole, które pokazuje dekoder online: rozmiar klucza, nazwy algorytmów, numer seryjny (z dwukropkami i dziesiętny), nazwy wyróżniające RFC 2253 / LDAP, polityki certyfikatów, identyfikatory kluczy, odciski SHA-1 / SHA-256 / MD5 oraz przypięcie SHA-256 SubjectPublicKeyInfo. Kryptograficznie weryfikuje podpis wystawcy (RSA i ECDSA), ustala urząd CA z adresu URL AIA caIssuers i przeprowadza automatyczne sprawdzenie OCSP przez CheckCertificateAuto.

XML Canonicalization (C14N)

Inkluzywny C14N (xml-c14n11) i ekskluzywny C14N (xml-exc-c14n) dla spójnego przetwarzania podpisów XML. Każdy profil krajowy wybiera kanonizację oczekiwaną przez jego regulatora.

Natywny, autonomiczny, wielowersyjny

Zero External DLLs

Kryptografia Windows CNG / BCrypt w systemie Windows, silnik w czystym Pascalu na Linux64, macOS, iOS i Android. Nie wymaga biblioteki DLL OpenSSL. Natywny PBES2 / PBKDF2 / AES-CBC dla zaszyfrowanych PEM PKCS#8. WinHTTP dla operacji sieciowych w systemie Windows, klient HTTP z RTL Delphi na pozostałych platformach.

Od Delphi 7 do Delphi 13 Florence

Obsługuje każdy kompilator Delphi od Delphi 7 do RAD Studio 13 oraz C++Builder. Nowoczesne jednostki chronione dla zgodności z poprzednimi wersjami (np. TsgcASiCContainer wymaga typów generycznych D2010+; kompiluje się bez problemu jako pusta jednostka na D7).

.NET Implementation

Lustrzany port C# dla .NET Framework 2.0–4.8, .NET Core, .NET 5–10 i .NET Standard. Te same nazwy klas Tsgc*; ta sama powierzchnia API co biblioteka Delphi.

Full Source Code

Pełny kod źródłowy dołączony do każdej licencji. Przeglądaj, dostosowuj, audytuj i rozszerzaj. Nazwy klas komponentów zarejestrowane dla integracji z IDE w czasie projektowania.

UTC Timestamps Throughout

Wszystkie sygnatury czasowe X.509 / CRL / OCSP / TSA przechowywane jako wartości UTC TDateTime, zgodnie z RFC 5280, RFC 3161 i RFC 6960. Konwersja na czas lokalny przez właściwości *Local każdego komponentu.

Zero Runtime Royalties

Bezpłatna redystrybucja binarna. Podpisuj tyle dokumentów, ile chcesz, bez opłat za dokument i bez licencji za wdrożenie.

To samo API, trzy różne źródła kluczy

Podpisz fakturę VeriFactu lokalnym plikiem PFX

  • Jeden komponent wysokiego poziomu (TsgcDocumentSigner)
  • Profil wybiera XAdES-EPES, B-B, SHA-256, ekskluzywny C14N
  • Przełącz na spFatturaPA dla Włoch, spKSeF dla Polski
SignVeriFactu.pas
// Sign Spanish VeriFactu invoice
var
  vKeyProvider: TsgcPFXKeyProvider;
  vSigner: TsgcDocumentSigner;
begin
  vKeyProvider := TsgcPFXKeyProvider.Create(nil);
  try
    vKeyProvider.FileName := 'certificate.pfx';
    vKeyProvider.Password := 'secret';
    vKeyProvider.LoadFromFile;

    vSigner := TsgcDocumentSigner.Create(nil);
    try
      vSigner.KeyProvider := vKeyProvider;
      vSigner.Profile := spVeriFactu;
      memoSigned.Text := vSigner.SignXML(memoXML.Text);
    finally
      vSigner.Free;
    end;
  finally
    vKeyProvider.Free;
  end;
end;

Podpisz plik EXE Authenticode za pomocą Azure Trusted Signing

  • Klucz w chmurze, bez lokalnego PFX ani tokenu USB
  • Uwierzytelnianie poświadczeniami klienta OAuth2
  • Certyfikat publicznego zaufania wydany przez Microsoft
SignWithAzure.pas
// Authenticode-sign with Azure Trusted Signing
var
  vKeyProvider: TsgcAzureTrustedSigningProvider;
  vSigner: TsgcAuthenticodeSigner;
begin
  vKeyProvider := TsgcAzureTrustedSigningProvider.Create(nil);
  vSigner := TsgcAuthenticodeSigner.Create(nil);
  try
    vKeyProvider.TenantId := '00000000-0000-0000-0000-000000000000';
    vKeyProvider.ClientId := '11111111-1111-1111-1111-111111111111';
    vKeyProvider.ClientSecret := 'my-client-secret';
    vKeyProvider.AccountName := 'my-trusted-signing-account';
    vKeyProvider.CertificateProfileName := 'public-trust';
    vKeyProvider.Endpoint := 'https://eus.codesigning.azure.net';
    vKeyProvider.Connect;

    vSigner.KeyProvider := vKeyProvider;
    vSigner.Level := alBES;   // alT additionally requires a TSAClient
    vSigner.SignFile('myapp.exe', 'myapp-signed.exe');
  finally
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

PAdES-T — PDF z widocznym podpisem i sygnaturą czasową

  • Certyfikat z magazynu Windows według nazwy podmiotu
  • Sygnatura czasowa RFC 3161 osadzona w podpisie
  • Widoczny wygląd z powodem i lokalizacją
SignPDFVisible.pas
// PAdES-T with visible signature appearance
var
  vKeyProvider: TsgcWindowsCertStoreProvider;
  vSigner: TsgcPAdESSigner;
  vTSA: TsgcTSAClient;
begin
  vKeyProvider := TsgcWindowsCertStoreProvider.Create(nil);
  vSigner := TsgcPAdESSigner.Create(nil);
  vTSA := TsgcTSAClient.Create(nil);
  try
    vKeyProvider.StoreName := 'MY';
    vKeyProvider.StoreLocation := cslCurrentUser;
    vKeyProvider.SelectCertificateBySubject('Acme Corp');

    vTSA.URL := 'https://freetsa.org/tsr';

    vSigner.KeyProvider := vKeyProvider;
    vSigner.TSAClient := vTSA;
    vSigner.Reason := 'Approved';
    vSigner.Location := 'Madrid, Spain';
    vSigner.VisibleSignature.Enabled := True;
    vSigner.SignPDFFile('contract.pdf', 'contract-signed.pdf');
  finally
    vTSA.Free;
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

Funkcje serwera

Bezpieczeństwo, kontrola podpisywania i operacje w sgcSign Server. Kompilacje zarejestrowana i próbna zawierają każdą funkcję, a ostatnia kolumna pokazuje, co oferuje edycja Community.

Funkcja Działanie Edycja Community
Logowanie dwuskładnikowe Kody TOTP z dowolnej aplikacji uwierzytelniającej oraz 10 jednorazowych kodów odzyskiwania. admin.require_2fa czyni je obowiązkowymi dla każdego użytkownika konsoli, a administrator może zresetować utracony drugi składnik. Tak
Logowanie OpenID Connect Logowanie do konsoli przez Microsoft Entra ID, Okta, Keycloak, Google lub dowolnego standardowego dostawcę, z PKCE. Użytkownicy łączą tożsamość zewnętrzną ze swoim kontem, a prośby o konto mogą opcjonalnie czekać na zatwierdzenie przez administratora. Tak
Utwardzenie konsoli Nagłówki bezpieczeństwa i ścisła polityka Content Security Policy w każdej odpowiedzi, konfigurowalna polityka haseł, hasła tymczasowe zmieniane przy pierwszym logowaniu oraz sesje kończone, gdy zmieni się rola lub uprawnienia, na których się opierają. Tak
Sekrety szyfrowane w spoczynku Hasła dostawców, kody PIN, dane uwierzytelniające chmury i sekrety webhooków przechowywane z AES-256-GCM pod kluczem głównym powiązanym z maszyną. --protect-secrets szyfruje istniejącą konfigurację w miejscu. Tak
Wymuszone zatwierdzenia Wymagane zatwierdzenie dla dostawcy lub projektu, sprawdzane przez serwer na każdej ścieżce podpisywania, także przy podpisie surowego skrótu dla signtool /dlib. Każde zatwierdzenie pozwala podpisać jeden raz. Nie
Cykl życia kluczy API Ponowne generowanie z oknem nakładania do 7 dni, edytowalna data ważności, właściciele kluczy, lista dozwolonych dostawców dla każdego klucza oraz klucze samoobsługowe dla operatorów z api_keys.self_service. Klucz może też rozpoczynać ważność przy pierwszym użyciu: jest ważny przez N dni liczonych od pierwszego uwierzytelnionego wywołania, z obowiązkową datą „aktywuj przed”, dzięki czemu nieużywany klucz nigdy nie pozostaje ważny bez końca. Podklucze działają dopiero po aktywacji klucza nadrzędnego, aktywacja jest zapisywana w dzienniku audytu jako apikey.activate, a edycja Community ogranicza obie wartości do 30 dni. Jeden aktywny klucz, ważność do 30 dni
Ochrona prób PIN dla PKCS#11 Przestaje logować się do tokenu po max_pin_attempts błędnych kodach PIN i nigdy nie zużywa ostatniej próby, chyba że ustawiono allow_final_pin_try, więc błędny PIN nigdy nie zablokuje tokenu sprzętowego. Nie (brak dostawcy PKCS#11)
Domyślne serwery znaczników czasu Ogólnoserwerowa lista serwerów znaczników czasu RFC 3161 odpytywanych po kolei z automatycznym przełączaniem, tsa_urls dla każdego dostawcy oraz no_timestamp, aby pominąć znacznik czasu w jednym żądaniu. Tak
sgcsign timestamp Dodaje znacznik czasu RFC 3161 do pliku już podpisanego Authenticode, próbując kolejno każdego serwera --tsa. Tak
--page-hashes Authenticode: dodaje jeden skrót na każdą stronę 4 KB obrazu, odpowiednik signtool sign /ph, używany przez sterowniki trybu jądra z Integralnością pamięci (HVCI). Tak
Zaszyfrowane kopie zapasowe według harmonogramu Jedno archiwum AES-256-GCM z konfiguracją, bazą danych, kluczem głównym oraz plikami kluczy i certyfikatów, tworzone według harmonogramu lub z konsoli. --archive restore przywraca je albo przenosi serwer na nową maszynę. Tak
Monitorowanie wygasania certyfikatów Codzienne sprawdzanie certyfikatów podpisujących i TLS z ostrzeżeniami na 30, 14, 7 i 1 dzień na pulpicie, w webhooku cert.expiring, w e-mailu i w metryce Prometheus. Tylko pulpit i e-mail
Powiadomienia e-mail E-mail o blokadach kont, zmianach uwierzytelniania dwuskładnikowego i haseł, nieudanych kopiach zapasowych i wygasających certyfikatach, przez SMTP ze STARTTLS lub niejawnym TLS. W systemie Windows nie są potrzebne biblioteki OpenSSL. Tak
Instalator dla systemu Windows sgcSignServer_Setup.exe instaluje usługę Windows, tworzy pierwszego administratora, otwiera port zapory i konfiguruje TLS z certyfikatem samopodpisanym lub istniejącym plikiem PFX. Nie, Community działa z archiwum zip przez start.bat (zwykłe HTTP)
Zapisane profile CLI sgcsign config przechowuje ustawienia w nazwanych profilach, a sgcsign auth set-key zapisuje klucz API, w CLI w Delphi i w narzędziu .NET esegece.sgcsign.cli. Tak
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Wdrożenie podpisów zgodnych z eIDAS już dziś

Dodaj podpisywanie XAdES, PAdES, CAdES i ASiC do swojej aplikacji Delphi, C++Builder lub .NET.