sgcSign Özellik Referansı

sgcSign dijital imza paketi için eksiksiz özellik kataloğu — Delphi 7'den Delphi 13'e, C++Builder ve .NET için imza standartları, anahtar sağlayıcılar, ülke profilleri, doğrulama, AB Güven Listesi entegrasyonu ve ETSI doğrulama raporları.

Üç Katman, Tek Motor

sgcSign; anahtar yönetimini, imzalama işlemlerini ve çıktı biçimlerini ayırır. Herhangi bir anahtar sağlayıcıyı herhangi bir imzalayıcıyla birleştirin; tek bir bileşeni değiştirerek yerel PFX ile bulut KMS arasında geçiş yapın.

Anahtar Sağlayıcılar (IsgcKeyProvider)

Sertifika ve özel anahtar erişimini tek bir arabirimin arkasında soyutlayın. Yerel dosyalar, Windows Sertifika Deposu, PKCS#11 donanım belirteçleri, Azure / AWS / Google Cloud KMS, HashiCorp Vault, Certum SimplySign ve CSC v2 uzak QTSP'leri.

İmzalayıcılar

Her ETSI biçimi için özelleştirilmiş imzalayıcılar: TsgcXAdESSigner, TsgcPAdESSigner, TsgcCAdESSigner, TsgcAuthenticodeSigner. Ayrıca TsgcDocumentSigner — bir ülke profilinden doğru imzalayıcıyı seçen ve yapılandıran birleşik üst düzey bir API.

Destek Bileşenleri

TsgcTSAClient (RFC 3161 zaman damgaları), TsgcOCSPClient (iptal), TsgcSignatureVerifier (doğrulama), TsgcEUTrustList (LOTL/EUTL), TsgcASiCContainer (ASiC-S/ASiC-E ZIP paketleme).

XAdES, PAdES, CAdES, ASiC ve Authenticode

Dört AdES düzeyinin tümünde (B-B, B-T, B-LT, B-LTA) tam ETSI imza biçimi kapsamı, ayrıca kod imzalama için Microsoft Authenticode.

XAdES — ETSI EN 319 132

XML Gelişmiş Elektronik İmzalar. Sarmalanmış, ayrık ve sarmalayan modlar. B-B / B-T / B-LT / B-LTA düzeyleri. İmza yerleşimini sabitleyen zarf biçimleri için SignatureParentElement (KSeF /v2/auth/xades-signature). Delphi 7+ üzerinde WideString aşırı yüklemeleri aracılığıyla Lehçe, İspanyolca ve Almanca aksan işaretleri.

PAdES — ETSI EN 319 142

PDF Gelişmiş Elektronik İmzalar. PDF içinde gömülü imzalar; imzalayan adı, sebep, konum, iletişim bilgileri ve yapılandırılabilir dikdörtgenle görünür imza görünümü. Adobe Acrobat ile uyumlu. TSA + OCSP aracılığıyla PAdES-T, -LT düzeyleri.

CAdES — ETSI EN 319 122

Herhangi bir dosya veya veri akışı üzerinde CMS/PKCS#7 ikili imzaları. Ayrık ve ekli biçimler. CAdES-BES, CAdES-T (zaman damgalı), CAdES-XL (iptal değerleriyle uzun vadeli).

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

İlişkili İmza Kapsayıcıları. Bir veya daha fazla belgeyi XAdES veya CAdES imzasıyla paketleyen ZIP biçiminde arşiv. Basit (apASiCS, tek belge) veya Genişletilmiş (apASiCE, manifest + birden fazla belge). İlk ZIP girişi sıkıştırılmamış bir mimetype işaretçisidir, böylece doğrulayıcılar kapsayıcıyı ilk ~50 baytta algılar.

Authenticode — Kod İmzalama

Windows PE dosyaları (.exe, .dll, .sys, .ocx, .cpl, .scr) için Microsoft Authenticode. SHA-1, SHA-256 (varsayılan), SHA-384 ve SHA-512 karma algoritmaları. RFC 3161 zaman damgası belirteçleri. Eski + modern doğrulayıcı uyumluluğu için iç içe (çift) imzalar. sgcSign Server'da mevcuttur.

AdES Düzeyleri — B-B / B-T / B-LT / B-LTA

Biçim başına dört ETSI uygunluk düzeyinin tümü desteklenir: B-B (temel), B-T (zaman damgası), B-LT (iptal değerleriyle uzun vadeli), B-LTA (arşiv zaman damgasıyla arşivleme). Bir TSA istemcisi ve OCSP yanıtlayıcısı ekleyerek bir imzayı B-B'den B-LT'ye yükseltin.

Yerel, Donanım, Bulut ve Uzak QTSP'ler

Her sağlayıcı IsgcKeyProvider uygular. İmzalama kodunuzu değiştirmeden bu anahtar kaynaklarından herhangi biri arasında geçiş yapın.

Bileşen Tür Kullanım Senaryosu
TsgcPFXKeyProvider Yerel dosya (PKCS#12) Parola korumalı PFX/.p12 dosyaları. Yerel Windows CNG desteği.
TsgcPEMKeyProvider Yerel dosya (PEM) Şifrelenmiş PKCS#8 anahtarlarıyla PEM sertifikaları. Yerel PBES2 / PBKDF2 / AES-CBC şifre çözme — OpenSSL DLL'si gerekmez.
TsgcWindowsCertStoreProvider Windows deposu Yerel makine ve geçerli kullanıcı depoları. Active Directory ve Grup İlkesi entegrasyonu.
TsgcPKCS11Provider Donanım belirteci PKCS#11 sürücüsü aracılığıyla akıllı kartlar ve HSM'ler — SafeNet, YubiKey, Nitrokey, Thales, Utimaco vb.
TsgcAzureTrustedSigningProvider Bulut (Microsoft) Azure Trusted Signing — Microsoft'un nitelikli imzalama hizmeti. OAuth2 istemci kimlik bilgileri. Azure Key Vault'tan farklıdır.
TsgcAWSKMSKeyProvider Bulut (AWS) AWS Key Management Service. Anahtarlar AWS'de kalır; yalnızca belge karmaları ağdan çıkar.
TsgcGCloudKMSKeyProvider Bulut (Google) Google Cloud Key Management. Hizmet hesabı kimlik doğrulaması.
TsgcHashiCorpVaultKeyProvider Bulut (kendi sunucunuzda barındırılan) HashiCorp Vault transit imzalama motoru. Anahtarlar Vault kümesinden asla çıkmaz.
TsgcCertumSimplySignProvider Uzak QTSP Certum SimplySign — nitelikli Polonya e-imza sağlayıcısı. KSeF, ZUS, PUE uyumlu.
TsgcCSCKeyProvider Uzak QTSP (CSC v2) Genel Cloud Signature Consortium v2 istemcisi — Universign, D-Trust sign-me, A-Trust, FNMT Cl@ve Firma, Evrotrust, Intesi Group ve CSC v2 API'sini sunan herhangi bir QTSP.

Avrupa E-Faturalama ve İş Sözleşmesi İmzalama

Her profil; hedef ülkenin düzenleyicisini karşılamak için karma algoritmasını, kanonikleştirmeyi, imza düzeyini, RFC 3161 zaman damgası politikasını ve OCSP iptal beklentilerini önceden ayarlar. Tek satırla yargı bölgesini değiştirin.

E-Faturalama Profilleri (12)

Profil Ülke Sistem Biçim Düzey
spVeriFactuİspanyaVeriFactu (AEAT)XAdES-EPESB-B
spTicketBAIİspanya (Bask)TicketBAIXAdES-EPESB-B
spFacturaeB2BİspanyaFacturae 3.x / FACeXAdES-EPESB-T
spFatturaPAİtalyaFatturaPA (SDI)XAdES-BESB-B
spSAFTPTPortekizSAF-T PTRSA-SHA256B-B
spKSeFPolonyaKSeF (Krajowy System e-Faktur)XAdESB-T
spFacturXFransa / AlmanyaFactur-X / ZUGFeRDXAdESB-B
spEFacturaRomanyae-Factura (ANAF)XAdESB-T
spNAVOnlineMacaristanNAV OnlineXML-DSigB-B
spFiskalizacijaHırvatistanFiskalizacijaXML-DSigB-B
spPeppolBEBelçikaPeppol UBL 2.0XAdESB-T
spPeppolBGBulgaristanPeppol UBL 2.1XAdESB-T
spMyDATAYunanistanmyDATA (AADE)XAdESB-B

AB İş Sözleşmesi Profilleri (9)

Üye devlet iş hukuku gereksinimleri için eIDAS uyumlu imzalar (örn. Almanya'da § 126a BGB, İtalya'da FEQ). Yargı bölgesi başına önceden ayarlanmıştır; Profile.LoadProfile(spEmploymentXX) aracılığıyla TsgcXAdESSigner'a yüklenir.

Profil Ülke Düzey Karma Zaman Damgası OCSP Notlar
spEmploymentDEAlmanyaB-LTSHA-256EvetEvetYazılı biçim sözleşmeleri için § 126a BGB tarafından gereken QES.
spEmploymentITİtalyaB-LTSHA-256EvetEvetFEQ nitelikli imza; INPS portalları hem XAdES hem de CAdES tüketir.
spEmploymentESİspanyaB-TSHA-256EvetHayırAdES yeterli. SEPE / TGSS portalları FNMT veya DNIe gerektirir.
spEmploymentFRFransaB-TSHA-256EvetHayırAdES uygun; DSP2 / RGS kapsamında uzaktan imzalama için QES tercih edilir.
spEmploymentATAvusturyaB-LTSHA-256EvetEvetHandy-Signatur / ID Austria aracılığıyla QES yaygındır.
spEmploymentBEBelçikaB-LTSHA-256EvetEveteID kartı (BeID) aracılığıyla QES.
spEmploymentPTPortekizB-LTSHA-256EvetEvetCartão do Cidadão / Chave Móvel Digital aracılığıyla QES.
spEmploymentNLHollandaB-TSHA-256EvetHayırAdES genel olarak kabul edilir; bazı İK portalları (UWV) için QES.
spEmploymentPLPolonyaB-TSHA-256EvetHayırSözleşme ZUS / PUE'ye gittiğinde Profil Zaufany veya nitelikli sertifika aracılığıyla QES.

AB'nin Doğruladığı Şekilde Doğrulayın

Tam doğrulama hattı ile AB Güven Listesi entegrasyonu ve standartlaştırılmış ETSI TS 119 102-2 XML Doğrulama Raporu — AB iş mahkemeleri ve kamu yönetimi doğrulayıcıları tarafından kabul edilen imza geçerliliğinin yasal kanıtı.

LTV ile İmza Doğrulama

TsgcSignatureVerifier tüm hattı kapsar: özet kontrolleri, RSA / ECDSA imza doğrulaması, sertifika zinciri doğrulaması, OCSP iptal kontrolü, Uzun Vadeli Doğrulama için gömülü RevocationValues ve SignedProperties için Id tabanlı parça araması.

AB Güven Listesi (LOTL / EUTL)

TsgcEUTrustList, ETSI TS 119 612 Güvenilir Listeler Listesi'ni ve üye devlet başına yaklaşık 31 Güvenilir Liste'yi ayrıştırır. Herhangi bir X.509 sertifikasını canlı AB kayıt defterine karşı arayarak eIDAS-nitelikli olarak sınıflandırın. Hava boşluklu dağıtımlar için çevrimdışı mod önbelleğe alma.

ETSI TS 119 102-2 Doğrulama Raporu

Her doğrulama için üretilen standartlaştırılmış XML Doğrulama Raporu (v1.2.1) — AB iş mahkemeleri ve kamu yönetimi doğrulayıcıları tarafından imza geçerliliğinin yasal kanıtı olarak kabul edilen biçim.

RFC 3161 Zaman Damgalama

TsgcTSAClient, herhangi bir RFC 3161 zaman damgası yetkilisine bağlanır. İmzaları B-B'den B-T, B-LT ve B-LTA'ya yükseltir — imzalama sertifikasının süresi dolduktan çok sonra bile doğrulanabilir.

OCSP İptali

TsgcOCSPClient, RFC 6960 Online Certificate Status Protocol kontrolleri gerçekleştirir. Gerçek zamanlı iptal, OCSP yanıtı B-LT imzalarına gömülü olarak; böylece yanıtlayıcı daha sonra çevrimdışı olduğunda belge doğrulanabilir kalır.

XML Kanonikleştirme (C14N)

Tutarlı XML imza işleme için Kapsayıcı C14N (xml-c14n11) ve Özel C14N (xml-exc-c14n). Her ülke profili, düzenleyicisinin beklediği kanonikleştirmeyi seçer.

Yerel, Bağımsız, Sürümler Arası

Sıfır Harici DLL

Baştan sona Windows CNG / BCrypt kriptografisi — OpenSSL DLL'si gerekmez. Şifrelenmiş PKCS#8 PEM için yerel PBES2 / PBKDF2 / AES-CBC. Ağ işlemleri için WinHTTP.

Delphi 7'den Delphi 13'e

Delphi 7'den RAD Studio 13'e her Delphi derleyicisini ve C++Builder'ı destekler. Eski uyumluluk için korumalı modern birimler (örn. TsgcASiCContainer, D2010+ generics gerektirir; D7'de zarif bir şekilde boş birim olarak derlenir).

.NET Uygulaması

.NET Framework 2.0–4.8, .NET Core, .NET 5–9 ve .NET Standard için yansıtılmış C# bağlantı noktası. Aynı Tsgc* sınıf adları; Delphi kitaplığıyla aynı API yüzeyi.

Tam Kaynak Kodu

Her lisansla birlikte eksiksiz kaynak dahildir. İnceleyin, özelleştirin, denetleyin ve genişletin. Tasarım zamanı IDE entegrasyonu için kaydedilmiş bileşen sınıfı adları.

Baştan Sona UTC Zaman Damgaları

Tüm X.509 / CRL / OCSP / TSA zaman damgaları, RFC 5280, RFC 3161 ve RFC 6960 ile eşleşecek şekilde UTC TDateTime değerleri olarak saklanır. Her bileşendeki *Local özellikleri aracılığıyla yerel saat dönüşümü.

Sıfır Çalışma Zamanı Telif Hakkı

Ücretsiz ikili yeniden dağıtım. Belge başına ücret ve dağıtım başına lisans olmadan istediğiniz kadar belge imzalayın.

Aynı API, Üç Farklı Anahtar Kaynağı

Yerel Bir PFX ile VeriFactu Faturası İmzalayın

  • Tek üst düzey bileşen (TsgcDocumentSigner)
  • Profil XAdES-EPES, B-B, SHA-256, özel C14N seçer
  • İtalya için spFatturaPA, Polonya için spKSeF olarak değiştirin
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;

Azure Trusted Signing ile Bir EXE'yi Authenticode ile İmzalayın

  • Bulut anahtarı, yerel PFX veya USB belirteci yok
  • OAuth2 istemci kimlik bilgileri kimlik doğrulaması
  • Microsoft tarafından verilen kamu güveni sertifikası
SignWithAzure.pas
// Authenticode-sign with Azure Trusted Signing
var
  vKeyProvider: TsgcAzureTrustedSigningProvider;
  vSigner: TsgcAuthenticodeSigner;
begin
  vKeyProvider := TsgcAzureTrustedSigningProvider.Create(nil);
  vSigner := TsgcAuthenticodeSigner.Create(nil);
  try
    vKeyProvider.AccountName := 'my-trusted-signing-account';
    vKeyProvider.CertificateProfileName := 'public-trust';
    vKeyProvider.Endpoint := 'https://eus.codesigning.azure.net';

    vSigner.KeyProvider := vKeyProvider;
    vSigner.SignFile('myapp.exe', 'myapp-signed.exe');
  finally
    vSigner.Free;
    vKeyProvider.Free;
  end;
end;

PAdES-T — Görünür İmza ve Zaman Damgalı PDF

  • Konu Adına göre Windows deposundan sertifika
  • İmzaya gömülü RFC 3161 zaman damgası
  • Sebep ve konumla görünür görünüm
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.SubjectName := 'CN=Acme Corp';
    vKeyProvider.LoadFromStore;

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

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

Bugün eIDAS Uyumlu İmzalar Gönderin

Delphi, C++Builder veya .NET uygulamanıza XAdES, PAdES, CAdES ve ASiC imzalama ekleyin.