CMS 署名検証レポート
スタンドアロン CMS API は、決定的なドキュメント順で、すべてのプライマリ SignerInfo と再帰的に入れ子になった counterSignature を公開します
署名者グラフ
HPDFParseCMSSignatures はすべてのプライマリ署名者レコードを返し、HPDFVerifyCMSSignaturesEx はそれらを供給されたコンテンツストリームに対して検証します
HPDFVerifyCMSSignerReport は再帰的なカウンター署名を追加し、各エントリを Kind、SignerIndex、ParentSignerIndex、NestingDepth、SignerInfo[0].CounterSignature[1] のような安定したパスで識別します
THPDFCMSVerifyOptions.MaxSignerCount と MaxCounterSignatureDepth は、決定的な出力を維持したまま、敵対的なコンテナでの作業を制限します
証明書およびエビデンスレポート
HPDFBuildCMSValidationReport は、グラフ内のすべての署名者について、署名者検証と呼び出し元が制御するオフライン証明書検証を組み合わせます
返される THPDFSignatureValidationReport は、集約された署名およびパス結果、署名者数、成功状態、機械可読な THPDFValidationFailureCode、署名者ごとの完全な THPDFSignatureInfo を含みます
署名者ごとの証明書詳細には、選択されたパス、トラスト結果、失効ソースとタイムスタンプ、OCSP nonce の決定、デルタおよび間接 CRL の使用、有効な証明書ポリシー、観測された最小キー強度、アルゴリズムポリシー診断が含まれます
JSON エクスポート
HPDFSignatureValidationReportToJSON は、エスケープされたテキスト値と安定したフィールド名を持つスキーマバージョン 1 JSON としてレポートをエクスポートし、監査ログ、ポリシーエンジン、テスト自動化に適しています
エクスポーターはネットワークアクセスを行わず、レポートまたはソースストリームを変更しません
運用上の指針
- 明示的なトラストアンカーを使用し、過去の検証判断を再現する際は
ValidationTimeを設定します - 成功結果に現在のオフライン失効エビデンスを含める必要がある場合は
rvmRequireを使用します - ワークフローが元の OCSP リクエストを制御する場合は、
ExpectedOCSPNonceとともにonpRequireMatchを使用します - 信頼できない CMS 入力には控えめな署名者およびネスト制限を設定します
- 監査証跡を再現可能にする必要がある場合は、JSON レポートを正確な署名済みリビジョンとエビデンスセットとともに永続化します
関連項目: VerifyLoadedSignatureWithTrust, GetLoadedSignatureInfo