HPDFEvaluateCMSSignerQCStatements Function

Odczytuje oświadczenia kwalifikowanego certyfikatu eIDAS oraz oświadczenie PSD2 certyfikatu podpisującego w danych podpisu CMS

Deklaracja

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

Jednostka

HPDFSignVerify

Parametry

ParametrPrzeznaczenie
CMSDERCMS SignedData w kodowaniu DER, na przykład /Contents podpisu PDF
InfoOtrzymuje oświadczenia ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) oraz oświadczenie PSD2 z ETSI TS 119 495 certyfikatu podpisującego
CertCountOtrzymuje liczbę certyfikatów osadzonych w danych CMS; 0, gdy danych nie da się sparsować

Wartość zwracana

false, gdy danych CMS nie da się sparsować albo nie zawierają czytelnego certyfikatu, a wówczas Info jest puste. Certyfikat bez oświadczeń QC nadal daje true, przy czym Info.HasQCStatements pozostaje false

Certyfikat podpisującego

Oceniany jest certyfikat wskazany w SignerInfo; gdy żadne nie pasuje, używany jest pierwszy osadzony certyfikat — właśnie tam builderzy CMS umieszczają podpisującego

Przykład

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;

Uwagi dotyczące użycia

Powiązane API