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
| Parámetro | Propósito |
|---|---|
CMSDER | CMS SignedData codificado en DER, por ejemplo 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 la cantidad de certificados embebidos en los datos CMS; 0 cuando los datos no se pueden parsear |
Valor de retorno
false cuando los datos CMS no se pueden parsear o no contienen un certificado legible; en ese caso Info queda vacío. Un certificado sin declaraciones QC igual devuelve true, con Info.HasQCStatements en false
Certificado del firmante
Se evalúa el certificado que el SignerInfo identifica; cuando ninguno coincide, se usa el primer certificado embebido, que es donde los generadores de 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 inspecciona solo el contenido del certificado; no verifica la firma, la cadena de certificados ni el estado del emisor en las listas de confianza
- Para una firma en un documento cargado,
THotPDF.GetLoadedSignatureQCStatementsdevuelve las mismas declaraciones sin extraer antes los datos CMS