HPDFEvaluateCMSSignerQCStatements Function

QCStatementهای گواهی واجد شرایط eIDAS و بیانیهٔ PSD2 گواهی امضاکننده در داده‌های امضای CMS را می‌خواند

اعلان

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

واحد

HPDFSignVerify

پارامترها

نامهدف
CMSDERSignedData کدگذاری‌شده با DER از CMS، مثل /Contents یک امضای PDF
Infoبیانیه‌های ETSI EN 319 412-5 یعنی QcCompliance، QcSSCD، QcType، QcLimitValue و QcPDS و بیانیهٔ PSD2 از ETSI TS 119 495 گواهی امضاکننده را دریافت می‌کند
CertCountتعداد گواهی‌های جاسازی‌شده در داده‌های CMS را دریافت می‌کند؛ وقتی داده‌ها قابل تجزیه نباشند 0

مقدار بازگشت

اگر داده‌های CMS قابل تجزیه نباشند یا گواهی خوانا نداشته باشند false و در این حالت Info خالی است. گواهی بدون QCStatement همچنان true برمی‌گرداند و Info.HasQCStatements روی false می‌ماند

گواهی امضاکننده

گواهی‌ای که SignerInfo مشخص می‌کند ارزیابی می‌شود؛ اگر مطابقت پیدا نشد، اولین گواهی جاسازی‌شده به‌کار می‌رود؛ سازنده‌های CMS امضاکننده را همان‌جا قرار می‌دهند

مثال

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;

یادداشت‌های استفاده

APIهای مرتبط