TPDFlibSignatureVerifier
セキュリティと署名
説明
PDF 署名フィールドと CMS 署名者を列挙し、PDF 全体をメモリに読み込むことなく選択した署名を検証します。また、暗号学的な完全性とは別に、署名されたリビジョンの厳密なカバレッジを報告します。
検証側は、OpenPDF、OpenPDFStream、または OpenPDFString を介して、ファイル、呼び出し側が所有するストリーム、または ANSI バイト文字列を受け取ります。
選択
Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);VerifySignatureByIndex は 0 から始まるインデックスで PDF フィールドを選択し、VerifySignatureByName は完全修飾 AcroForm フィールド名を使用します。どちらのメソッドも 0 から始まる CMS 署名者インデックスを受け取ります。
検証レポート
| IntegrityResult | 選択した署名者に対する、暗号学的 CMS またはレガシー PKCS#7 の完全性結果 |
|---|---|
| CoverageStatus | scInvalid、scSignedRevision、または scWholeDocument |
| ByteRangeValid | すべての範囲が境界付けられ、Contents のギャップが正確で、署名されたリビジョンが自身の %%EOF で終わる場合にのみ True になります |
| ContentsGapValid | 省略されたバイトが、選択された 16 進数の /Contents トークンそのものである場合にのみ True になります |
| HasLaterRevisions | 選択した署名がより前の差分リビジョンに対しては有効だが、より後のバイトが存在する場合に True になります |
| SignedRevisionLength | 選択した署名によって認証されたリビジョンのバイト長 |
| DocumentLength | 現在の PDF のバイト長 |
| NativeError | 完全性の検証に失敗した場合の Windows CryptoAPI エラーコード |
互換性メソッド
VerifySignature、GetSignatureMetadata、GetSignerCertificate、VerifySignerCertificateChain は引き続き使用可能で、フィールド 0 と署名者 0 を選択します
明示的に選択するには、GetSignatureMetadataByIndex、GetSignatureMetadataByName、GetSignerCertificateByIndex、GetSignerCertificateByName、VerifySignerCertificateChainByIndex、または VerifySignerCertificateChainByName を使用してください