HPDFParsePSD2QcStatement Function
Parsuje DER jednego PSD2QcType z ETSI TS 119 495 do THPDFPSD2QcStatement i odrzuca każde zniekształcone wejście w całości
Deklaracja
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Jednostka
HPDFSignVerify
Parametry
| Parametr | Przeznaczenie |
|---|---|
StatementInfoDER | statementInfo z QCStatement 0.4.0.19495.2: dokładnie jedna SEQUENCE { rolesOfPSP, nCAName, nCAId } w kodowaniu DER |
Statement | Otrzymuje role oraz nazwę i identyfikator NCA; puste zawsze, gdy funkcja zwraca false |
Wartość zwracana
true, gdy bufor zawiera dobrze uformowany PSD2QcType; false dla pustego bufora i dla każdego z odchyleń wymienionych poniżej
Odrzucane wejście
- Długości wychodzące poza rodzica, nieminimalne kodowania długości i długości nieoznaczone
- Bajty po zewnętrznym
SEQUENCE - Brakujące albo nadmiarowe komponenty i komponenty o złym tagu:
rolesOfPSPmusi byćSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String }, anCANameinCAId—UTF8String - Nazwy ról, nazwy NCA i identyfikatory NCA, które nie są ciągiem 1 do 256 znaków poprawnego UTF-8
Przykład
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;
Uwagi dotyczące użycia
- Zdefiniowane OID-y ról to
0.4.0.19495.1.1(PSP_AS, obsługa rachunków),0.4.0.19495.1.2(PSP_PI, inicjowanie płatności),0.4.0.19495.1.3(PSP_AI, informacje o rachunku) i0.4.0.19495.1.4(PSP_IC, emitowanie instrumentów płatniczych opartych na kartach) - Funkcja czyta DER, który już posiadasz; żeby odczytać oświadczenie z podpisu, użyj
HPDFEvaluateCMSSignerQCStatementsna danych CMS alboTHotPDF.GetLoadedSignatureQCStatementsna załadowanym dokumencie