GetSignatureModificationVerdict

デジタル署名

説明

署名後に追加された更新が、文書'の認証レベルで許可されたものかを示します

構文

Delphi

Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;

パラメータ

InputFile署名済みドキュメント
Password開くためのパスワード。不要な場合は空文字列
FieldName判定する署名フィールド

戻り値

1署名の後には何も追記されませんでした
2認証レベルで許可される変更だけが追記されました
3そのレベルで許可されない内容が追記された
4答えを判定できませんでした
5署名がリビジョン境界で終わっていないため、署名が対象と主張する範囲内にバイトが存在します
0ファイルまたはフィールドを読み取れませんでした

備考

ISO 32000-1 §12.8.2.2 は認証署名に権限レベルを定めています。1 は以後の変更を一切許可せず、2 はフォーム入力と署名も許可し、3 はさらに注釈も許可します。検証資料と文書タイムスタンプはすべてのレベルで許可されるため、長期検証への昇格が改ざんと判断されることはありません

結果 4 は承認を意味しません 認証'自体の構造を検証できない場合、フィールドロックが存在し後続更新がどのフィールドに影響したか追跡できない場合、後続リビジョンに読み取れないものがある場合、または署名範囲後のバイトが識別可能なリビジョンを形成しない場合に返されます。これらの場合は重要な事実が不明であり、許可済みと扱うのは誤りです

GetSignatureModificationDetail は回答の根拠となるリビジョンと変更種別を示し、GetSignatureEffectiveMDPLevel は適用されたレベルを報告します

例

case PDF.GetSignatureModificationVerdict('signed.pdf', '', 'Signature1') of
  1, 2: ShowMessage('the signature still covers the document');
  3:    ShowMessage('not allowed: '+ PDF.GetSignatureModificationDetail);
else
  ShowMessage('undetermined: '+ PDF.GetSignatureModificationDetail);
end;

関連項目

GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind