Enregistrement THPDFCertificateValidationOptions
Configure les ancres de confiance, les preuves de révocation hors ligne, les contraintes de politique et les limites d'algorithmes pour la validation du chemin de certificats
Déclaration
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;
Unité
HPDFSignVerify
Champs
| Champ | Objectif |
|---|---|
TrustAnchors | Certificats d'ancres de confiance encodés en DER autorisés à clôturer le chemin |
IntermediateCertificates | Certificats non fiables supplémentaires que le constructeur peut utiliser quand le pool CMS est incomplet |
OCSPResponses / CRLs / DeltaCRLs | Pools hors ligne de réponses OCSP, de CRL de base et de CRL delta |
CRLIssuerCertificates | Certificats utilisés pour vérifier les signatures des signataires de CRL |
OCSPResponseSources / CRLSources / DeltaCRLSources | Étiquette de source de preuve enregistrée pour chaque élément du pool, exposée sur les informations de validation |
RevocationMode | Sélectionne le comportement de révocation rvmNone, rvmBestEffort ou rvmRequire |
ValidationTime | Temps auquel les contrôles de validité et de fraîcheur sont évalués |
MaxPathLength | Nombre maximal de certificats entre la feuille et l'ancre de confiance ; Default fixe 12 |
OCSPNoncePolicy | Indique si les nonces OCSP sont exigés, rapprochés quand présents, ou ignorés ; Default rapproche quand présent |
ExpectedOCSPNonce | Octets de nonce exacts à exiger quand la politique en exige un |
OCSPMaxAgeDays / CRLMaxAgeDays | Âge maximal accepté des réponses OCSP et des CRL ; Default fixe 7 et 30 jours |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | Tolérance d'horloge appliquée aux horodatages des preuves ; Default fixe 5 minutes pour chacun |
RequireOCSPNextUpdate / RequireCRLNextUpdate | Rejette les preuves sans champ next-update |
AllowDelegatedOCSPResponders | Accepte les réponses signées par des répondeurs délégués ; Default les autorise |
RequireOCSPNoCheckForDelegated | Exige l'extension OCSPNoCheck sur les certificats des répondeurs délégués |
AllowIndirectCRLs | Accepte les CRL émises par un signataire de CRL indirect ; Default les autorise |
RequireDeltaCRLWhenAdvertised | Échoue quand un pointeur de CRL delta est annoncé mais qu'aucune CRL delta n'a été fournie |
TrustPurpose / CustomTrustPurposeOID | Usage de certificat exigé pour l'ancre de confiance ; Default accepte tout usage |
InitialPolicySet | OID de politiques de certificats que le chemin validé doit satisfaire |
RequireExplicitCertificatePolicy | Exige au moins une politique de certificat explicite dans le chemin |
InhibitCertificatePolicyMapping | Désactive le traitement du mappage de politiques de certificats |
InhibitAnyCertificatePolicy | Exclut le qualificateur anyPolicy du traitement des politiques |
AlgorithmPolicy | Limites de taille de clé et d'algorithme appliquées à chaque certificat et signature du chemin |
FetchMissingIntermediates | Récupère les intermédiaires manquants via les URL AIA caIssuers avant d'échouer avec cvsPathBuildingFailed ; le transport reste côté appelant |
MaxFetchedIntermediates | Plafond du nombre d'intermédiaires qu'une validation peut récupérer via AIA |
Default | Fonction de classe renvoyant la configuration intégrée résumée ci-dessus |
Notes d'utilisation
- Partez de
THPDFCertificateValidationOptions.Defaultet ne surchargez que ce que votre politique exige, afin que les fenêtres de fraîcheur et l'usage de confiance restent conformes aux valeurs par défaut de la bibliothèque - La bibliothèque n'ouvre jamais de sockets : fournissez les preuves via les pools, ou utilisez la variante de validation en ligne avec un transport côté appelant quand
FetchMissingIntermediatesdoit récupérer - Les tableaux de sources s'apparient un à un avec les pools de preuves, ce qui permet aux rapports d'attribuer chaque verdict de révocation à son origine