THotPDF.GetLoadedSignatureQCStatements Method

Declaration

function GetLoadedSignatureQCStatements(SigIndex: Integer;
  out Info: THPDFQCStatementInfo): boolean;

Behaviour

eIDAS qualified-certificate evaluation of one loaded signature: reports the ETSI EN 319 412-5 QCStatements of the signer certificate, including QcCompliance, QcSSCD, the QcType values, QcLimitValue and the PDS locations, plus the ETSI TS 119 495 PSD2 statement

PSD2 statement

The PSD2 QCStatement (0.4.0.19495.2) carries a PSD2QcType: the roles the payment service provider is authorised for, the name of the national competent authority (NCA), and the NCA identifier. These are reported through the following fields of THPDFQCStatementInfo:

To parse a PSD2QcType you already hold as DER, call HPDFParsePSD2QcStatement from the HPDFSignVerify unit. It fills a THPDFPSD2QcStatement and returns false for any malformed input

var
  Info: THPDFQCStatementInfo;
  I: Integer;
begin
  if HotPDF1.GetLoadedSignatureQCStatements(0, Info) and Info.HasPSD2Statement then
  begin
    for I:= 0 to High(Info.PSD2RolesOfPSP) do
      Writeln(Info.PSD2RolesOfPSP[I].Name, ' (', Info.PSD2RolesOfPSP[I].OID, ')');
    Writeln('NCA: ', Info.PSD2NCAName, ' / ', Info.PSD2NCAId);
  end;
end;

Qualified signature heuristic

QualifiedSignatureLikely marks the eIDAS 910/2014 Annex IV heuristic of QcCompliance plus QcSSCD; a false value is not proof of a non-qualified signature, because the QTSP service trust decision stays with the caller. Returns false when the signature carries no usable certificate

See also GetLoadedSignatureInfo, Batch Signature Validation