HPDFEvaluateCMSSignerQCStatements Function

Čte statements kvalifikovaného certifikátu eIDAS a statement PSD2 certifikátu podepisujícího v datech CMS podpisu

Deklarace

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

Jednotka

HPDFSignVerify

Parametry

ParametrÚčel
CMSDERCMS SignedData v kódování DER, například /Contents podpisu PDF
InfoPřijímá statements ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) a statement ETSI TS 119 495 PSD2 certifikátu podepisujícího
CertCountPřijímá počet certifikátů vložených do dat CMS; 0, když data nelze parsovat

Návratová hodnota

false, když data CMS nelze parsovat nebo neobsahují čitelný certifikát, a Info je pak prázdné. Certifikát bez statements QC stále vrací true, přičemž Info.HasQCStatements zůstává false

Certifikát podepisujícího

Vyhodnocuje se certifikát, který identifikuje SignerInfo; když žádný neodpovídá, použije se první vložený certifikát — právě tam umisťují tvůrci CMS podepisujícího

Příklad

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;

Poznámky k použití

Související API