Delphi XAdES & PAdES 전자 서명 | sgcSign | eSeGeCe

Delphi에서의 XAdES & PAdES 전자 서명

sgcSign은 Delphi, C++Builder 및 .NET 코드에서 eIDAS 등급의 전자 서명을 생성해요: XML용 XAdES, PDF용 PAdES, 모든 바이너리 콘텐츠용 CAdES, 그리고 문서와 서명을 묶는 ASiC 컨테이너까지. 네 가지 AdES 레벨 전부, 10개의 키 제공자와 21개의 사전 구성된 EU 국가 프로파일을 네이티브 CNG/BCrypt 암호화로, 외부 DLL 없이 제공해요.

모든 ETSI 형식, B-B부터 B-LTA까지

네 가지 서명 제품군 뒤에 하나의 서명 엔진. 규제 기관이나 거래 상대방이 기대하는 형식을 선택하면 나머지는 프로파일이 처리해요.

Delphi XAdES / PAdES 전자 서명 컴포넌트의 임무는 하나예요: 수신 포털이 실제로 받아들이는 출력을 만들어 내는 것. sgcSign은 네 가지 ETSI 서명 제품군을 다뤄요: XAdES (EN 319 132, XML), PAdES (EN 319 142, PDF), CAdES (EN 319 122, CMS/PKCS#7), 그리고 ASiC-S / ASiC-E 컨테이너 (EN 319 162) — B-B(기본)부터 B-T(타임스탬프 포함), B-LT(체인과 폐기 데이터가 내장된 장기)를 거쳐 B-LTA(아카이브 타임스탬프가 있는 장기)까지 모든 AdES 레벨에서.

키는 어디에 있든 그대로 쓸 수 있어요: 로컬 PFX/PKCS#12 및 PEM 파일, Windows 인증서 저장소, PKCS#11 스마트카드와 HSM, 또는 클라우드 서비스(Azure Trusted Signing, AWS KMS, Google Cloud KMS, HashiCorp Vault, Certum SimplySign, CSC v2 원격 QTSP). 모든 제공자가 동일한 IsgcKeyProvider 인터페이스를 구현하므로, PFX 파일에서 클라우드 HSM으로 전환하는 것은 컴포넌트 하나만 바꾸면 되는 일이에요.

XAdES

엔벨로프드, 엔벨로핑 및 디태치드 XML 서명: TsgcSignXML + TsgcSignProfile_XAdES

PAdES

가시적 서명 표시가 있는 PDF 서명, Adobe Acrobat 호환: TsgcSignPDF + TsgcSignProfile_PAdES

CAdES & ASiC

모든 파일에 대한 CMS/PKCS#7 서명, ZIP 기반 ASiC-S / ASiC-E 컨테이너 추가

컴파일러

Delphi 7부터 RAD Studio 13, C++Builder 및 .NET

EU 규정 준수 업무를 위해 설계

원시 서명을 공공 행정 기관이 수락하는 문서로 바꾸는 조각들.

RFC 3161 타임스탬프

TSA.URL을 아무 타임스탬프 기관으로 지정하면 B-T 이상 레벨이 서명 타임스탬프를 자동으로 포함해요.

장기 검증

B-LT / B-LTA의 경우 OCSP.AutoFetchCRL.AutoFetch가 전체 체인과 폐기 데이터를 검색하여 포함하므로, 문서가 네트워크 호출 없이도 수년간 검증돼요.

21개 국가 프로파일

VeriFactu, TicketBAI, Facturae, FatturaPA, KSeF, Factur-X / ZUGFeRD, e-Factura, SAF-T PT, Peppol 등. 각 프로파일이 대상 규제 기관에 맞춰 해시, 정규화, 레벨, 타임스탬프 및 폐기 정책을 사전 조정해요.

고용 계약

9개의 EU 고용 계약 프로파일(독일, 이탈리아, 스페인, 프랑스, 오스트리아, 벨기에, 포르투갈, 네덜란드, 폴란드)이 각 관할권이 기대하는 AdES / QES 레벨을 미리 설정해요.

검증 & 보고서

TsgcSignatureVerifier가 다이제스트, 체인, OCSP 폐기 및 타임스탬프를 검증하고, 감지된 레벨, 서명자, 상태가 담긴 구조화된 보고서를 반환해요.

EU Trust List

TsgcEUTrustList가 라이브 LOTL과 회원국별 신뢰 목록을 파싱하므로, 모든 인증서를 공식 EU 레지스트리에 대조하여 eIDAS 적격 여부를 분류할 수 있어요.

가시적 PDF 서명

서명자 이름, 사유, 위치, 연락처 정보 및 원하는 페이지에 구성 가능한 서명 사각형, Adobe Acrobat과 호환.

네이티브 암호화

내부적으로 Windows CNG/BCrypt를 사용해요. 실행 파일과 함께 배포할 OpenSSL DLL이 없어요.

라이브러리 또는 서버

동일한 엔진이 인프로세스 컴포넌트 라이브러리로, 그리고 빌드 팜과 CI 파이프라인을 위한 자체 호스팅 REST 서명 데몬인 sgcSign Server로 제공돼요.

XML 송장에 서명하고, 다음은 PDF

키 제공자를 로드하고, 프로파일을 구성하고, 서명하세요. 모든 형식에 동일한 3단계 패턴이에요.

uses
  sgcSign_KeyProvider_PFX, sgcSign_XML, sgcSign_Profile_XAdES;

var
  vKeyProvider: TsgcPFXKeyProvider;
  vProfile: TsgcSignProfile_XAdES;
  vSigner: TsgcSignXML;
  vXML, vSigned: string;
begin
  vXML := TFile.ReadAllText('invoice.xml', TEncoding.UTF8);

  vKeyProvider := TsgcPFXKeyProvider.Create(nil);
  vKeyProvider.FileName := 'certificate.pfx';
  vKeyProvider.Password := 'secret';
  vKeyProvider.LoadFromFile;

  vProfile := TsgcSignProfile_XAdES.Create(nil);
  vProfile.Level := xalT;            // or xalLT, xalLTA
  vProfile.Packaging := xpkEnveloped;
  vProfile.HashAlgorithm := shaSHA256;
  vProfile.TSA.URL := 'https://freetsa.org/tsr';

  vSigner := TsgcSignXML.Create(nil);
  try
    vSigner.KeyProvider := vKeyProvider;
    vSigner.Profile := vProfile;
    vSigned := vSigner.SignXML(vXML);
    TFile.WriteAllText('invoice-signed.xml', vSigned, TEncoding.UTF8);
  finally
    vSigner.Free;
  end;
end;
var
  vProfile: TsgcSignProfile_PAdES;
  vSigner: TsgcSignPDF;
begin
  vProfile := TsgcSignProfile_PAdES.Create(nil);
  vProfile.Level := palT;
  vProfile.HashAlgorithm := shaSHA256;
  vProfile.TSA.URL := 'http://timestamp.digicert.com';

  // Optional visible signature widget
  vProfile.SignatureField.Visible := True;
  vProfile.SignatureField.Page := 1;
  vProfile.SignatureField.Rect := Rect(50, 50, 250, 120);
  vProfile.SignatureField.Reason := 'Approved';
  vProfile.SignatureField.Location := 'Madrid';

  vSigner := TsgcSignPDF.Create(nil);
  try
    vSigner.KeyProvider := vKeyProvider;
    vSigner.Profile := vProfile;
    vSigner.SignFile('invoice.pdf', 'invoice-signed.pdf');
  finally
    vSigner.Free;
  end;
end;

배포 전에 검증하세요

모든 서명 워크플로는 검증 단계로 끝나야 해요. TsgcSignatureVerifier는 서명된 XML 또는 PDF를 받아 서명별 보고서를 반환해요: 실제로 달성된 AdES 레벨, 서명자 주체, 타임스탬프, 그리고 체인 또는 폐기 문제까지. B-T를 요청했는데 보고서가 B-B라고 하면 타임스탬프 요청이 실패한 것이고, 규제 기관의 오류 큐가 아니라 자신의 컴퓨터에서 이를 알게 되는 거예요.

eIDAS 적격성 확인의 경우, 검증기를 EU Trust List 컴포넌트와 결합하세요: sgcSign은 EU가 검증하는 것과 같은 방식으로, 라이브 LOTL에 대조하여 서명을 검증하고 표준화된 검증 보고서를 생성할 수 있어요.

sgcSign과 함께 계속하기

튜토리얼: XAdES 서명

일반 XML 송장에서 XAdES-B-T까지: 패키징 모드, 타임스탬프, 검증을 단계별로.

튜토리얼: PDF 서명

PAdES를 위한 동일한 워크스루: 프로파일, 가시적 서명, 증분 업데이트.

국가 프로파일

전자 청구서와 고용 계약을 위한 21개의 사전 구성된 EU 프로파일.

키 제공자

PFX, PEM, Windows 저장소, PKCS#11 토큰 및 클라우드 KMS 제공자 상세.

sgcSign Server

REST를 통한 중앙 집중식 원격 서명. GitHub Actions, Azure DevOps, Docker, Helm 지원.

가격

컴포넌트 라이브러리와 서버의 라이선스, 그리고 All-Access 번들.

Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

오늘 첫 문서에 서명하세요

체험판을 다운로드하고, 자신의 송장으로 XAdES 튜토리얼을 실행하고, 결과를 처음부터 끝까지 검증해 보세요.