THotPDF.GetLoadedSignatureQCStatements Method
Deklaracja
function GetLoadedSignatureQCStatements(SigIndex: Integer;
out Info: THPDFQCStatementInfo): boolean;
Zachowanie
Ocena kwalifikowanego certyfikatu eIDAS dla jednego załadowanego podpisu: raportuje QCStatements ETSI EN 319 412-5 certyfikatu podpisującego, w tym QcCompliance, QcSSCD, wartości QcType, QcLimitValue i lokalizacje PDS, a także role płatnika i odbiorcy PSD2 z TS 119 495
Stwierdzenie PSD2
Stwierdzenie PSD2 QCStatement (0.4.0.19495.2) niesie PSD2QcType: role, do których dostawca usług płatniczych jest autoryzowany, nazwę krajowej instytucji nadzorczej (NCA) i identyfikator NCA. Jest raportowane przez te pola THPDFQCStatementInfo:
HasPSD2Statementma wartośćtruetylko wtedy, gdy certyfikat niesie dobrze uformowane oświadczenie PSD2; oświadczenie z przepełniającymi albo nieminimalnymi długościami, brakującymi albo nadmiarowymi komponentami, złymi tagami albo nazwami spoza zakresu 1-256 znaków poprawnego UTF-8 jest ignorowane i pozostawia pola PSD2 pustePSD2RolesOfPSPwylicza każdą rolę w kolejności certyfikatu jakoTHPDFPSD2RolezOID(0.4.0.19495.1.1PSP_AS,0.4.0.19495.1.2PSP_PI,0.4.0.19495.1.3PSP_AI,0.4.0.19495.1.4PSP_IC) orazName- nazwę roli zapisaną w certyfikacie, np.PSP_ASPSD2NCANameiPSD2NCAIdtrzymają nazwę i identyfikator NCA, np.CZ-CNBPSD2RolesPayeriPSD2RolesPayeesą przestarzałe i zawsze puste, bo ETSI TS 119 495 nie definiuje list ról płatnika ani odbiorcy; czytaj zamiast tegoPSD2RolesOfPSP
Żeby sparsować PSD2QcType, który już masz jako DER, wywołaj HPDFParsePSD2QcStatement z jednostki HPDFSignVerify. Wypełnia THPDFPSD2QcStatement i zwraca false dla każdego zniekształconego wejścia
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;Heurystyka podpisu kwalifikowanego
QualifiedSignatureLikely oznacza heurystykę z załącznika IV rozporządzenia eIDAS 910/2014: QcCompliance plus QcSSCD; wartość false nie dowodzi, że podpis nie jest kwalifikowany, bo decyzję o zaufaniu do usługi QTSP pozostawia się wywołującemu. Zwraca false, gdy podpis nie niesie użytecznego certyfikatu