PLVerifyModernDetachedCMS

暗号、電子署名

説明

モダン detached CMS の署名者を、元のデータバイトに対して検証します

検証側は SignedData を解析し、署名属性のメッセージダイジェストをデータと照合してから、署名者証明書の公開鍵で生の署名を検証します。純 Pascal の Ed25519、曲線パラメータ上の ECDSA、または CNG 経由の RSA PKCS#1 と PSS です

構文

Delphi

Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
  SignerIndex: Integer; Out SignerCount: Integer;
  Out NativeError: Cardinal): Integer;

パラメータ

CMSBytesDER エンコードの detached CMS SignedData
Data元の被覆バイト。署名時にダイジェストされたのと同じ入力
SignerIndex検証する 0 起点の署名者
SignerCountCMS 内で見つかった署名者の数を受け取ります
NativeError大まかな失敗クラスを受け取ります。不正な入力は 13、ダイジェストの問題は 50、または失敗したプリミティブの CNG ステータス

戻り値

0CMS は解析できるが署名アルゴリズムがモダンな集合の外。この検証側の管轄ではありません
1署名者の検証に成功
2解析、ダイジェスト、プリミティブのいずれかのステップが失敗。理由は NativeError に入ります

備考

メッセージダイジェストの比較は定数時間で、PSS パラメータは RFC 4056 に倣い SignerInfo と同じダイジェストを指名しなければなりません。結果 0 は、blob をプラットフォームの検証器へ渡すよう呼び出し側に伝えます

関連項目

PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer