THPDFCertificateValidationOptions Record
لنگرهای اعتماد، شواهد ابطال آفلاین، محدودیتهای سیاست و سقفهای الگوریتم را برای اعتبارسنجی مسیر گواهی پیکربندی میکند
اعلان
THPDFCertificateValidationOptions= record
TrustAnchors: THPDFDERArray;
IntermediateCertificates: THPDFDERArray;
OCSPResponses: THPDFDERArray;
CRLs: THPDFDERArray;
DeltaCRLs: THPDFDERArray;
CRLIssuerCertificates: THPDFDERArray;
OCSPResponseSources: THPDFValidationEvidenceSourceArray;
CRLSources: THPDFValidationEvidenceSourceArray;
DeltaCRLSources: THPDFValidationEvidenceSourceArray;
RevocationMode: THPDFRevocationMode;
ValidationTime: TDateTime;
MaxPathLength: Integer;
OCSPNoncePolicy: THPDFOCSPNoncePolicy;
ExpectedOCSPNonce: TBytes;
OCSPMaxAgeDays: Double;
OCSPAllowedClockSkewMinutes: Integer;
RequireOCSPNextUpdate: boolean;
AllowDelegatedOCSPResponders: boolean;
RequireOCSPNoCheckForDelegated: boolean;
CRLMaxAgeDays: Double;
CRLAllowedClockSkewMinutes: Integer;
RequireCRLNextUpdate: boolean;
AllowIndirectCRLs: boolean;
RequireDeltaCRLWhenAdvertised: boolean;
TrustPurpose: THPDFCertificateTrustPurpose;
CustomTrustPurposeOID: AnsiString;
InitialPolicySet: THPDFOIDArray;
RequireExplicitCertificatePolicy: boolean;
InhibitCertificatePolicyMapping: boolean;
InhibitAnyCertificatePolicy: boolean;
AlgorithmPolicy: THPDFCertificateAlgorithmPolicy;
// v2.738.0 online chain building: when the path cannot close with
// the supplied pool, fetch the missing intermediates through the
// AIA caIssuers URLs of the leaf-most unmatched certificate before
// failing with cvsPathBuildingFailed (transport stays caller-side)
FetchMissingIntermediates: boolean;
MaxFetchedIntermediates: Integer;
class function Default: THPDFCertificateValidationOptions; static;
end;
واحد
HPDFSignVerify
فیلدها
| فیلد | هدف |
|---|---|
TrustAnchors | گواهیهای لنگر اعتماد انکودشده با DER که اجازه دارند مسیر را ببندند |
IntermediateCertificates | گواهیهای اضافیِ غیرمورد اعتمادی که سازنده وقتی مخزن CMS ناقص است میتواند به کار ببرد |
OCSPResponses / CRLs / DeltaCRLs | مخازن آفلاین پاسخهای OCSP، base CRLها و delta CRLها |
CRLIssuerCertificates | گواهیهایی که برای تأیید امضای امضاکنندهٔ CRL به کار میروند |
OCSPResponseSources / CRLSources / DeltaCRLSources | برچسب منبع شواهدی که برای هر آیتم مخزن ثبت میشود و روی info اعتبارسنجی نمایش داده میشود |
RevocationMode | رفتار ابطال را از میان rvmNone، rvmBestEffort یا rvmRequire انتخاب میکند |
ValidationTime | زمانی که بررسیهای اعتبار و تازگی بر اساس آن ارزیابی میشوند |
MaxPathLength | حداکثر تعداد گواهیهای بین leaf و لنگر اعتماد؛ Default مقدار 12 را تنظیم میکند |
OCSPNoncePolicy | آیا nonceهای OCSP الزامیاند، وقتی موجودند تطبیق داده میشوند یا نادیده گرفته میشوند؛ Default وقتی موجود باشد تطبیق میدهد |
ExpectedOCSPNonce | بایتهای دقیق nonce که وقتی سیاست آن را بخواهد باید ارائه شود |
OCSPMaxAgeDays / CRLMaxAgeDays | حداکثر عمر پذیرفتهٔ پاسخهای OCSP و CRLها؛ Default مقدار 7 و 30 روز را تنظیم میکند |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | تحمل ساعت اعمالی روی timestampهای شواهد؛ Default برای هرکدام 5 دقیقه تنظیم میکند |
RequireOCSPNextUpdate / RequireCRLNextUpdate | شواهدی را که فیلد next-update ندارند رد میکند |
AllowDelegatedOCSPResponders | پاسخهای امضاشده توسط responderهای نماینده را میپذیرد؛ Default آنها را میپذیرد |
RequireOCSPNoCheckForDelegated | افزونهٔ OCSPNoCheck را روی گواهیهای responder نماینده الزامی میکند |
AllowIndirectCRLs | CRLهای صادرشده توسط امضاکنندهٔ CRL غیرمستقیم را میپذیرد؛ Default آنها را میپذیرد |
RequireDeltaCRLWhenAdvertised | وقتی اشارهگر delta CRL اعلام شده اما delta CRL عرضه نشده باشد، شکست میخورد |
TrustPurpose / CustomTrustPurposeOID | هدف گواهیِ الزامی برای لنگر اعتماد؛ Default هر هدفی را میپذیرد |
InitialPolicySet | OIDهای policy گواهی که مسیر اعتبارسنجیشده باید برآورده کند |
RequireExplicitCertificatePolicy | دستکم یک policy صریح گواهی در مسیر الزامی میکند |
InhibitCertificatePolicyMapping | پردازش نگاشت policy گواهی را غیرفعال میکند |
InhibitAnyCertificatePolicy | qualifier anyPolicy را از پردازش سیاست کنار میگذارد |
AlgorithmPolicy | سقف اندازهٔ کلید و محدودیتهای الگوریتم اعمالی بر هر گواهی و امضا در مسیر |
FetchMissingIntermediates | پیش از شکست با cvsPathBuildingFailed، میانیهای غایب را از طریق URLهای AIA caIssuers واکشی میکند؛ transport سمت فراخوان میماند |
MaxFetchedIntermediates | سقف تعداد میانیهایی که یک اعتبارسنجی میتواند از طریق AIA واکشی کند |
Default | class function که پیکربندی داخلی خلاصهشدهٔ بالا را برمیگرداند |
یادداشتهای استفاده
- از
THPDFCertificateValidationOptions.Defaultشروع کنید و فقط چیزهایی را بازنویسی کنید که سیاست شما لازم دارد، تا پنجرههای تازگی و هدف اعتماد با پیشفرضهای کتابخانه هماهنگ بمانند - کتابخانه هرگز سوکت باز نمیکند: شواهد را از طریق مخازن تأمین کنید، یا وقتی
FetchMissingIntermediatesنیاز به واکشی دارد از نسخهٔ اعتبارسنجی آنلاین با transport سمت فراخوان استفاده کنید - آرایههای source یکیبهیک با مخازن شواهد جفت میشوند تا گزارشها بتوانند هر حکم ابطال را به منبعش نسبت دهند