HPDFEvaluateCMSSignerQCStatements Function
Odczytuje oświadczenia kwalifikowanego certyfikatu eIDAS oraz oświadczenie PSD2 certyfikatu podpisującego w danych podpisu CMS
Deklaracja
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Jednostka
HPDFSignVerify
Parametry
| Parametr | Przeznaczenie |
|---|---|
CMSDER | CMS SignedData w kodowaniu DER, na przykład /Contents podpisu PDF |
Info | Otrzymuje oświadczenia ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) oraz oświadczenie PSD2 z ETSI TS 119 495 certyfikatu podpisującego |
CertCount | Otrzymuje liczbę certyfikatów osadzonych w danych CMS; 0, gdy danych nie da się sparsować |
Wartość zwracana
false, gdy danych CMS nie da się sparsować albo nie zawierają czytelnego certyfikatu, a wówczas Info jest puste. Certyfikat bez oświadczeń QC nadal daje true, przy czym Info.HasQCStatements pozostaje false
Certyfikat podpisującego
Oceniany jest certyfikat wskazany w SignerInfo; gdy żadne nie pasuje, używany jest pierwszy osadzony certyfikat — właśnie tam builderzy CMS umieszczają podpisującego
Przykład
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;
Uwagi dotyczące użycia
- Funkcja bada wyłącznie zawartość certyfikatu; nie weryfikuje podpisu, łańcucha certyfikatów ani statusu wystawcy na listach zaufania
- Dla podpisu w załadowanym dokumencie
THotPDF.GetLoadedSignatureQCStatementszwraca te same oświadczenia bez wcześniejszego wyodrębniania danych CMS