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

ParameterZweck
CMSDERDER-kodiertes CMS-SignedData, etwa das /Contents einer PDF-Signatur
InfoEmpfä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
CertCountEmpfä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

Verwandte APIs