HPDFEvaluateCMSSignerQCStatements Function

CMS 署名データ内の署名者証明書が持つ eIDAS qualified-certificate ステートメントと 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 ステートメントを受け取ります
CertCountCMS データに埋め込まれた証明書の数を受け取ります。データをパースできないときは 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