THPDFSignatureProviderRequest レコード
署名プロバイダ操作 1 回分のアルゴリズム、入力、鍵材料、管理用識別子を運びます
宣言
THPDFSignatureProviderRequest= record
Algorithm: THPDFSignatureAlgorithm;
AlgorithmOID: AnsiString;
DigestAlgorithmOID: AnsiString;
PSSSaltLength: Integer;
InputKind: THPDFSignatureInputKind;
Input: TBytes;
PublicKey: TBytes;
Signature: TBytes;
CertificateDER: TBytes;
KeyIdentifier: AnsiString;
OperationIdentifier: AnsiString;
Context: TBytes;
end;
ユニット
HPDFSignatureProvider
フィールド
| フィールド | 目的 |
|---|---|
Algorithm | 実行する署名アルゴリズム。hsaRSAPKCS1v15、hsaRSAPSS、hsaECDSA など |
AlgorithmOID | 署名アルゴリズムのオブジェクト識別子 |
DigestAlgorithmOID | ダイジェストアルゴリズムのオブジェクト識別子 |
PSSSaltLength | RSA-PSS の salt 長。0〜65535 の範囲外の値はプロバイダに拒否されます |
InputKind | Input がメッセージ(sikMessage)か、完成済みダイジェスト(sikDigest)か |
Input | メッセージまたはダイジェストのバイト列。空や過大な入力は不正形式として拒否されます |
PublicKey | 署名検証時にインポートされる公開鍵のバイト列 |
Signature | 検証操作でチェックされる署名のバイト列 |
CertificateDER | 結果の署名サイズ推定に使われる DER 証明書 |
KeyIdentifier | 署名鍵を指すプロバイダ固有の識別子 |
OperationIdentifier | リトライの合間にプロバイダがキャンセルソースと照合する識別子 |
Context | 要求とともに運ばれる、プロバイダ定義のコンテキストバイト列 |
使用上の注意
THPDFSignatureProvider実装のSign、Verify、EstimateSignatureSizeに渡されます- プロバイダーはまず
InputKindとInputの長さを検証し、不一致があればspsMalformedを返します(比較対象はAlgorithm) - カスタムトランスポートは同じレコードにリトライ回数を加えて受け取り、キャンセル判断に
OperationIdentifierを使えます