HPDFParsePSD2QcStatement Function
Analyzuje DER jednoho ETSI TS 119 495 PSD2QcType do THPDFPSD2QcStatement a odmítá jakýkoli poškozený vstup jako celek
Deklarace
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Jednotka
HPDFSignVerify
Parametry
| Parametr | Účel |
|---|---|
StatementInfoDER | statementInfo QCStatement 0.4.0.19495.2: přesně jedno SEQUENCE { rolesOfPSP, nCAName, nCAId } v kódování DER |
Statement | Přijímá role a název a identifikátor NCA; prázdné vždy, když funkce vrátí false |
Návratová hodnota
true, když buffer obsahuje dobře utvářený PSD2QcType; false pro prázdný buffer a pro kteroukoli z odchylek níže
Zamítnutý vstup
- Délky, které přebíhají přes rodičovský prvek, kódování ne-minimální délky a neurčité délky
- Bajty za vnějším
SEQUENCE - Chybějící či navíc komponenty a komponenty se špatným tagem:
rolesOfPSPmusí býtSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String },nCANameanCAIdmusí býtUTF8String - Názvy rolí, názvy NCA a identifikátory NCA, které nejsou 1 až 256 znaky platného UTF-8
Příklad
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;
Poznámky k použití
- Definovaná OID rolí jsou
0.4.0.19495.1.1(PSP_AS, obsluha účtů),0.4.0.19495.1.2(PSP_PI, zahájení platby),0.4.0.19495.1.3(PSP_AI, informace o účtu) a0.4.0.19495.1.4(PSP_IC, vydávání platebních instrumentů na bázi karet) - Funkce čte DER, který už máte; chcete-li přečíst statement z podpisu, použijte
HPDFEvaluateCMSSignerQCStatementsna data CMS neboTHotPDF.GetLoadedSignatureQCStatementsna načtený dokument