HPDFEvaluateCMSSignerQCStatements Function
Liest die Qualified-Certificate-Statements nach eIDAS und das PSD2-Statement des Signaturzertifikats aus CMS-Signaturdaten
Deklaration
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Unit
HPDFSignVerify
Parameter
| Parameter | Zweck |
|---|---|
CMSDER | DER-kodiertes CMS-SignedData, etwa das /Contents einer PDF-Signatur |
Info | Empfängt die Statements von ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) und das PSD2-Statement von ETSI TS 119 495 des Signaturzertifikats |
CertCount | Empfängt die Anzahl der in den CMS-Daten eingebetteten Zertifikate; 0, wenn sich die Daten nicht parsen lassen |
Rückgabewert
false, wenn sich die CMS-Daten nicht parsen lassen oder kein lesbares Zertifikat enthalten; Info ist dann leer. Ein Zertifikat ohne QC-Statements liefert trotzdem true, wobei Info.HasQCStatements auf false bleibt
Signaturzertifikat
Ausgewertet wird das Zertifikat, das der SignerInfo bezeichnet; passt keines, kommt das erste eingebettete Zertifikat zum Zug, denn dort platzieren CMS-Erzeuger den Unterzeichner
Beispiel
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;
Verwendungshinweise
- Die Funktion prüft nur den Zertifikatsinhalt; sie verifiziert weder die Signatur noch die Zertifikatskette noch den Trusted-List-Status des Issuers
- Für eine Signatur in einem geladenen Dokument liefert
THotPDF.GetLoadedSignatureQCStatementsdieselben Statements, ohne vorher die CMS-Daten zu extrahieren