HPDFEvaluateCMSSignerQCStatements Function
Lee las declaraciones de certificado cualificado eIDAS y la declaración PSD2 del certificado del firmante en los datos de firma CMS
Declaración
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Unidad
HPDFSignVerify
Parámetros
| Nombre | Propósito |
|---|---|
CMSDER | CMS SignedData codificado en DER, como el /Contents de una firma PDF |
Info | Recibe las declaraciones de ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) y la declaración PSD2 de ETSI TS 119 495 del certificado del firmante |
CertCount | Recibe el número de certificados incrustados en los datos CMS; 0 cuando los datos no se pueden analizar |
Valor devuelto
false cuando los datos CMS no se pueden analizar o no contienen ningún certificado legible, y Info queda entonces vacío. Un certificado sin declaraciones QC aun así devuelve true, con Info.HasQCStatements en false
Certificado del firmante
Se evalúa el certificado que identifica el SignerInfo; cuando ninguno coincide, se usa el primer certificado incrustado, que es donde los generadores CMS colocan al firmante
Ejemplo
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;
Notas de uso
- La función solo examina el contenido del certificado; no verifica la firma, la cadena de certificados ni el estado de lista de confianza del emisor
- Para una firma de un documento cargado,
THotPDF.GetLoadedSignatureQCStatementsdevuelve las mismas declaraciones sin extraer antes los datos CMS