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

NombrePropósito
CMSDERCMS SignedData codificado en DER, como el /Contents de una firma PDF
InfoRecibe 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
CertCountRecibe 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

APIs relacionadas