HPDFEvaluateCMSSignerQCStatements Function
Lit les déclarations de certificat qualifié eIDAS et la déclaration PSD2 du certificat du signataire dans les données de signature CMS
Déclaration
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Unité
HPDFSignVerify
Paramètres
| Nom | Objectif |
|---|---|
CMSDER | CMS SignedData encodé en DER, comme le /Contents d’une signature PDF |
Info | Reçoit les déclarations ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) et la déclaration PSD2 ETSI TS 119 495 du certificat du signataire |
CertCount | Reçoit le nombre de certificats embarqués dans les données CMS ; 0 lorsque les données ne peuvent être analysées |
Valeur de retour
false lorsque les données CMS ne peuvent être analysées ou ne contiennent aucun certificat lisible, et Info est alors vide. Un certificat sans déclarations QC renvoie quand même true, avec Info.HasQCStatements laissé à false
Certificat du signataire
Le certificat identifié par le SignerInfo est évalué ; quand aucun ne correspond, le premier certificat embarqué est utilisé, car c’est là que les générateurs CMS placent le signataire
Exemple
var
Info: THPDFQCStatementDescriptor;
CertCount: Integer;
begin
if HPDFEvaluateCMSSignerQCStatements(CMSDER, Info, CertCount) then
begin
if Info.QCCompliant and Info.QCSSCD then
Writeln('Qualified certificate on a qualified device');
if Info.HasPSD2Statement then
Writeln('PSD2 NCA: ', Info.PSD2NCAName, ' / ', Info.PSD2NCAId);
end;
end;
Notes d’utilisation
- La fonction n’examine que le contenu du certificat ; elle ne vérifie ni la signature, ni la chaîne de certificats, ni le statut de liste de confiance de l’émetteur
- Pour une signature d’un document chargé,
THotPDF.GetLoadedSignatureQCStatementsrenvoie les mêmes déclarations sans extraire d’abord les données CMS