Înregistrarea THPDFCertificateValidationOptions
Configurează ancore de încredere, dovezi de revocare offline, constrângeri de politici și limite de algoritmi pentru validarea lanțului de certificate
Declarație
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;
Unitate
HPDFSignVerify
Câmpuri
| Câmp | Scop |
|---|---|
TrustAnchors | Certificate de ancore de încredere codificate DER, permise să închidă lanțul |
IntermediateCertificates | Certificate suplimentare de neîncredere pe care constructorul le poate folosi când rezervorul CMS este incomplet |
OCSPResponses / CRLs / DeltaCRLs | Rezervoare offline de răspunsuri OCSP, CRL-uri de bază și delta CRL-uri |
CRLIssuerCertificates | Certificate folosite pentru verificarea semnăturilor semnatarilor de CRL |
OCSPResponseSources / CRLSources / DeltaCRLSources | Eticheta sursei de dovezi înregistrată pentru fiecare element din rezervor, expusă în informațiile de validare |
RevocationMode | Selectează comportamentul de revocare rvmNone, rvmBestEffort sau rvmRequire |
ValidationTime | Timpul la care sunt evaluate verificările de valabilitate și de prospețime |
MaxPathLength | Numărul maxim de certificate între frunză și ancora de încredere; Default setează 12 |
OCSPNoncePolicy | Dacă nonce-urile OCSP sunt obligatorii, sunt verificate când există sau sunt ignorate; Default le verifică când există |
ExpectedOCSPNonce | Octeții exacți de nonce ceruți când politica cere unul |
OCSPMaxAgeDays / CRLMaxAgeDays | Vârsta maximă acceptată pentru răspunsurile OCSP și pentru CRL-uri; Default setează 7 și 30 de zile |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | Toleranța de ceas aplicată timestamp-urilor dovezilor; Default setează 5 minute pentru fiecare |
RequireOCSPNextUpdate / RequireCRLNextUpdate | Respinge dovezile care nu poartă un câmp next-update |
AllowDelegatedOCSPResponders | Acceptă răspunsuri semnate de respondere delegate; Default le acceptă |
RequireOCSPNoCheckForDelegated | Cere extensia OCSPNoCheck pe certificatele responderelelor delegate |
AllowIndirectCRLs | Acceptă CRL-uri emise de un semnatar CRL indirect; Default le acceptă |
RequireDeltaCRLWhenAdvertised | Eșuează când un pointer de delta CRL este anunțat, dar niciun delta CRL nu a fost furnizat |
TrustPurpose / CustomTrustPurposeOID | Scopul de certificat cerut ancorei de încredere; Default acceptă orice scop |
InitialPolicySet | OID-urile de politici de certificat pe care lanțul validat trebuie să le satisfacă |
RequireExplicitCertificatePolicy | Cere cel puțin o politică de certificat explicită în lanț |
InhibitCertificatePolicyMapping | Dezactivează procesarea mapării politicilor de certificat |
InhibitAnyCertificatePolicy | Exclude calificativul anyPolicy din procesarea politicilor |
AlgorithmPolicy | Limite de dimensiune a cheilor și de algoritmi aplicate fiecărui certificat și fiecărei semnături din lanț |
FetchMissingIntermediates | Aduce intermediarele lipsă prin URL-urile AIA caIssuers înainte să eșueze cu cvsPathBuildingFailed; transportul rămâne în partea apelantului |
MaxFetchedIntermediates | Plafon pentru câte intermediare poate aduce o validare prin AIA |
Default | Funcție de clasă care returnează configurația predefinită rezumată mai sus |
Note de utilizare
- Plecați de la
THPDFCertificateValidationOptions.Defaultși suprascrieți doar ce cere politica dvs., astfel încât ferestrele de prospețime și scopul de încredere să corespundă valorilor implicite ale bibliotecii - Biblioteca nu deschide niciodată sockete: furnizați dovezile prin rezervoare sau folosiți varianta de validare online cu un transport în partea apelantului când
FetchMissingIntermediatestrebuie să aducă date - Vectorii de surse se potrivesc unu-la-unu cu rezervoarele de dovezi, permițând rapoartelor să atribuie fiecare verdict de revocare originii sale