HPDFEvaluateCMSSignerQCStatements Function

读取 CMS 签名数据中签名者证书的 eIDAS 合格证书声明和 PSD2 声明

声明

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

单元

HPDFSignVerify

参数

参数用途
CMSDERDER 编码的 CMS SignedData,例如 PDF 签名的 /Contents
Info接收签名者证书的 ETSI EN 319 412-5 声明(QcCompliance、QcSSCD、QcType、QcLimitValue、QcPDS)和 ETSI TS 119 495 PSD2 声明
CertCount接收 CMS 数据中嵌入的证书数量;数据无法解析时为 0

返回值

CMS 数据无法解析或不含可读证书时返回 false,此时 Info 为空。证书没有 QC 声明时仍返回 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