HPDFParsePSD2QcStatement Function
Analyse le DER d’un PSD2QcType ETSI TS 119 495 en un THPDFPSD2QcStatement et rejette toute entrée malformée dans son ensemble
Déclaration
function HPDFParsePSD2QcStatement(const StatementInfoDER: TBytes;
out Statement: THPDFPSD2QcStatement): boolean;
Unité
HPDFSignVerify
Paramètres
| Nom | Objectif |
|---|---|
StatementInfoDER | Le statementInfo du QCStatement 0.4.0.19495.2 : exactement un SEQUENCE { rolesOfPSP, nCAName, nCAId } encodé en DER |
Statement | Reçoit les rôles ainsi que le nom et l’identifiant de la NCA ; vide chaque fois que la fonction renvoie false |
Valeur de retour
true lorsque le tampon contient un PSD2QcType bien formé ; false pour un tampon vide et pour chacun des écarts ci-dessous
Entrées rejetées
- Longueurs qui débordent de leur parent, encodages de longueur non minimale et longueurs indéfinies
- Octets après le
SEQUENCEexterne - Composants manquants ou superflus et composants au mauvais tag :
rolesOfPSPdoit être unSEQUENCE OF SEQUENCE { OBJECT IDENTIFIER, UTF8String },nCANameetnCAIddoivent être desUTF8String - Noms de rôles, noms de NCA et identifiants de NCA qui ne font pas de 1 à 256 caractères d’UTF-8 valide
Exemple
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;
Notes d’utilisation
- Les OID de rôles définis sont
0.4.0.19495.1.1(PSP_AS, tenue de compte),0.4.0.19495.1.2(PSP_PI, initiation de paiement),0.4.0.19495.1.3(PSP_AI, information sur le compte) et0.4.0.19495.1.4(PSP_IC, émission d’instruments de paiement adossés à une carte) - La fonction lit un DER que vous détenez déjà ; pour lire la déclaration depuis une signature, utilisez
HPDFEvaluateCMSSignerQCStatementssur les données CMS ouTHotPDF.GetLoadedSignatureQCStatementssur un document chargé