HPDFParsePSD2QcStatement Function
Parser DER-en av én ETSI TS 119 495 PSD2QcType til en THPDFPSD2QcStatement og avviser feilformet inndata som en helhet
Deklarasjon
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Enhet
HPDFSignVerify
Parametere
| Parameter | Formål |
|---|---|
StatementInfoDER | statementInfo i QCStatement 0.4.0.19495.2: nøyaktig én DER-kodet SEQUENCE { rolesOfPSP, nCAName, nCAId } |
Statement | Mottar rollene samt NCA-navn og -identifikator; tomt når helst funksjonen returnerer false |
Returverdi
true når bufferen inneholder en velformet PSD2QcType; false for en tom buffer og for ethvert av avvikene nedenfor
Avvist inndata
- Lengder som løper over forelderen sin, ikke-minimale lengdekodinger og ubestemte lengder
- Byte etter den ytre
SEQUENCE-en - Manglende eller ekstra komponenter og komponenter med feil tag:
rolesOfPSPmå være enSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String },nCANameognCAIdmå væreUTF8String - Rollenavn, NCA-navn og NCA-identifikatorer som ikke er 1 til 256 tegn av gyldig UTF-8
Eksempel
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;
Bruksnotater
- De definerte rolle-OID-ene er
0.4.0.19495.1.1(PSP_AS, kontotjeneste),0.4.0.19495.1.2(PSP_PI, betalingsinitiering),0.4.0.19495.1.3(PSP_AI, kontoinformasjon) og0.4.0.19495.1.4(PSP_IC, utstedelse av kortbaserte betalingsinstrumenter) - Funksjonen leser DER du allerede har; for å lese statementet fra en signatur, bruk
HPDFEvaluateCMSSignerQCStatementspå CMS-dataene ellerTHotPDF.GetLoadedSignatureQCStatementspå et innlastet dokument