HPDFEvaluateCMSSignerQCStatements Fonksiyonu
CMS imza verisindeki signer sertifikasının eIDAS qualified-certificate statement'larını ve PSD2 statement'ını okur
Bildirim
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Birim
HPDFSignVerify
Parametreler
| Parametre | Amaç |
|---|---|
CMSDER | PDF imzasının /Contents alanı gibi DER kodlamalı CMS SignedData verisi |
Info | Signer sertifikasının ETSI EN 319 412-5 statement'larını (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) ve ETSI TS 119 495 PSD2 statement'ını alır |
CertCount | CMS verisine gömülü sertifika sayısını alır; veri ayrıştırılamadığında 0 olur |
Dönüş değeri
CMS verisi ayrıştırılamadığında veya okunabilir bir sertifika içermiyorsa false döner ve Info boş kalır. QC statement'ı olmayan bir sertifika yine de true döndürür; Info.HasQCStatements false kalır
Signer sertifikası
SignerInfo'nun tanımladığı sertifikat değerlendirilir; hiçbiri eşleşmediğinde gömülü ilk sertifika kullanılır; CMS üreticileri signer'ı genellikle oraya koyar
Örnek
var
Info: THPDFQCStatementDescriptor;
CertCount: Integer;
begin
if HPDFEvaluateCMSSignerQCStatements(CMSDER, Info, CertCount) then
begin
if Info.QCCompliant and Info.QCSSCD then
Writeln('Qualified certificate on a qualified device');
if Info.HasPSD2Statement then
Writeln('PSD2 NCA: ', Info.PSD2NCAName, ' / ', Info.PSD2NCAId);
end;
end;
Kullanım notları
- İşlev yalnızca sertifika içeriğini inceler; imzayı, sertifika zincirini ve issuer'ın trusted-list durumunu doğrulamaz
- Yüklenmiş bir belgedeki imza için
THotPDF.GetLoadedSignatureQCStatements, önce CMS verisini çıkarmaya gerek kalmadan aynı statement'ları döndürür