HPDFParsePSD2QcStatement Function
Parsar DER:n för en ETSI TS 119 495 PSD2QcType till en THPDFPSD2QcStatement och avvisar felaktig indata i sin helhet
Deklaration
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Enhet
HPDFSignVerify
Parametrar
| Parameter | Syfte |
|---|---|
StatementInfoDER | statementInfo i QCStatement 0.4.0.19495.2: exakt en DER-kodad SEQUENCE { rolesOfPSP, nCAName, nCAId } |
Statement | Tar emot rollerna samt NCA-namn och -identifierare; tomt närhelst funktionen returnerar false |
Returvärde
true när bufferten innehåller en välformad PSD2QcType; false för en tom buffert och för vart och ett av avvikelserna nedan
Avvisad indata
- Längder som löper över sin förälder, icke-minimala längdkodningar och obestämda längder
- Byte efter den yttre
SEQUENCE:en - Saknade eller extra komponenter och komponenter med fel tagg:
rolesOfPSPmåste vara enSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String },nCANameochnCAIdmåste varaUTF8String - Rollnamn, NCA-namn och NCA-identifierare som inte är 1 till 256 tecken av giltig UTF-8
Exempel
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;
Användningsanteckningar
- De definierade roll-OID:erna är
0.4.0.19495.1.1(PSP_AS, kontotjänstgöring),0.4.0.19495.1.2(PSP_PI, betalningsinitiering),0.4.0.19495.1.3(PSP_AI, kontoinformation) och0.4.0.19495.1.4(PSP_IC, utgivning av kortbaserade betalningsinstrument) - Funktionen läser DER du redan har; för att läsa uttrycket från en signatur, anropa
HPDFEvaluateCMSSignerQCStatementspå CMS-data ellerTHotPDF.GetLoadedSignatureQCStatementspå ett inläst dokument