HPDFParsePSD2QcStatement Function
Parst den DER eines PSD2QcType nach ETSI TS 119 495 in einen THPDFPSD2QcStatement und weist jede fehlerhafte Eingabe als Ganzes zurück
Deklaration
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Unit
HPDFSignVerify
Parameter
| Parameter | Zweck |
|---|---|
StatementInfoDER | Das statementInfo des QCStatements 0.4.0.19495.2: genau ein DER-kodiertes SEQUENCE { rolesOfPSP, nCAName, nCAId } |
Statement | Empfängt die Rollen sowie Name und Bezeichner der NCA; leer, wann immer die Funktion false liefert |
Rückgabewert
true, wenn der Puffer einen wohlgeformten PSD2QcType enthält; false bei leerem Puffer und bei jeder der folgenden Abweichungen
Zurückgewiesene Eingaben
- Längen, die über ihren Elternbereich hinauslaufen, nicht minimale Längenkodierungen und unbestimmte Längen
- Bytes nach der äußeren
SEQUENCE - Fehlende oder zusätzliche Komponenten und Komponenten mit falschem Tag:
rolesOfPSPmuss eineSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String }sein,nCANameundnCAIdmüssenUTF8Stringsein - Rollen-, NCA-Namen und NCA-Bezeichner, die nicht aus 1 bis 256 Zeichen gültigen UTF-8 bestehen
Beispiel
var
Statement: THPDFPSD2QcStatement;
I: Integer;
begin
if HPDFParsePSD2QcStatement(StatementInfoDER, Statement) then
begin
for I:= 0 to High(Statement.RolesOfPSP) do
Writeln(Statement.RolesOfPSP[I].Name, ' (', Statement.RolesOfPSP[I].OID, ')');
Writeln('NCA: ', Statement.NCAName, ' / ', Statement.NCAId);
end;
end;
Verwendungshinweise
- Die definierten Rollen-OIDs sind
0.4.0.19495.1.1(PSP_AS, Kontoführung),0.4.0.19495.1.2(PSP_PI, Zahlungsinitiierung),0.4.0.19495.1.3(PSP_AI, Kontoinformation) und0.4.0.19495.1.4(PSP_IC, Ausgabe kartengestützter Zahlungsinstrumente) - Die Funktion liest einen bereits vorliegenden DER; um das Statement aus einer Signatur zu lesen, verwenden Sie
HPDFEvaluateCMSSignerQCStatementsauf den CMS-Daten oderTHotPDF.GetLoadedSignatureQCStatementsauf einem geladenen Dokument