HPDFEvaluateCMSSignerQCStatements Function

Lê as declarações de certificado qualificado eIDAS e a declaração PSD2 do certificado do signatário nos dados de assinatura CMS

Declaração

function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
  out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;

Unidade

HPDFSignVerify

Parâmetros

NomeFinalidade
CMSDERCMS SignedData codificado em DER, como o /Contents de uma assinatura PDF
InfoRecebe as declarações da ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) e a declaração PSD2 da ETSI TS 119 495 do certificado do signatário
CertCountRecebe o número de certificados incorporados nos dados CMS; 0 quando os dados não podem ser analisados

Valor de retorno

false quando os dados CMS não podem ser analisados ou não contêm um certificado legível, e Info fica vazio nesse caso. Um certificado sem declarações QC ainda retorna true, com Info.HasQCStatements permanecendo false

Certificado do signatário

O certificado que o SignerInfo identifica é avaliado; quando nenhum corresponde, o primeiro certificado incorporado é usado, que é onde os geradores de CMS colocam o signatário

Exemplo

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