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ámetroPropósito
CMSDERCMS SignedData codificado en DER, por ejemplo 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 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

APIs relacionadas