THPDFSignatureProviderRequest Record
الگوریتم، ورودی، مواد کلیدی و شناسههای ردیابی یک عملیات signature provider را حمل میکند
اعلان
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 | شناسهٔ شیء الگوریتم digest |
PSSSaltLength | طول salt برای RSA-PSS؛ مقادیر خارج از 0..65535 توسط provider رد میشوند |
InputKind | اینکه Input یک پیام (sikMessage) را نگه میدارد یا دایجست آماده (sikDigest) |
Input | بایتهای پیام یا digest؛ ورودی خالی یا بیش از حد بزرگ بهعنوان بدقالیب رد میشود |
PublicKey | بایتهای کلید عمومی که هنگام تأیید یک امضا import میشوند |
Signature | بایتهای امضا که عملیات verify چک میکنند |
CertificateDER | گواهی DER که برای تخمین اندازهٔ امضای حاصل استفاده میشود |
KeyIdentifier | شناسهٔ مخصوص provider که کلید امضا را نامگذاری میکند |
OperationIdentifier | شناسهای که provider بین retryها با منبع لغو خودش چک میکند |
Context | بایتهای context تعریفشده توسط provider که همراه درخواست حمل میشوند |
یادداشتهای استفاده
- به
SignوVerifyوEstimateSignatureSizeدر پیادهسازیهایTHPDFSignatureProviderپاس داده میشود - providerها ابتدا
InputKindو طولInputرا اعتبارسنجی میکنند و وقتی باAlgorithmنخوانندspsMalformedبرمیگردانند - transportهای سفارشی همین رکورد را بهعلاوهٔ شمارهٔ تلاش retry میگیرند و برای لغو میتوانند به
OperationIdentifierنگاه کنند