HPDFEvaluateCMSSignerQCStatements Function
QCStatementهای گواهی واجد شرایط eIDAS و بیانیهٔ PSD2 گواهی امضاکننده در دادههای امضای CMS را میخواند
اعلان
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
واحد
HPDFSignVerify
پارامترها
| نام | هدف |
|---|---|
CMSDER | SignedData کدگذاریشده با 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;
یادداشتهای استفاده
- این تابع فقط محتوای گواهی را بررسی میکند؛ امضا، زنجیرهٔ گواهی و وضعیت صادرکننده در فهرست اعتماد راستیآزمایی نمیشود
- برای امضای داخل سند بارگذاریشده،
THotPDF.GetLoadedSignatureQCStatementsهمین بیانیهها را بدون استخراج مقدماتی دادههای CMS برمیگرداند