Record THPDFCertificateValidationOptions
Configura trust anchors, evidencia de revocación offline, restricciones de políticas y límites de algoritmos para la validación de rutas de certificados
Declaración
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;
Unidad
HPDFSignVerify
Campos
| Campo | Propósito |
|---|---|
TrustAnchors | Certificados trust anchor codificados en DER con permiso para cerrar la ruta |
IntermediateCertificates | Certificados extra no confiables que el constructor puede usar cuando el pool del CMS está incompleto |
OCSPResponses / CRLs / DeltaCRLs | Pools offline de respuestas OCSP, CRL base y delta CRL |
CRLIssuerCertificates | Certificados usados para verificar las firmas de los firmantes de CRL |
OCSPResponseSources / CRLSources / DeltaCRLSources | Etiqueta de fuente de evidencia registrada para cada elemento del pool, expuesta en la información de validación |
RevocationMode | Selecciona el comportamiento de revocación rvmNone, rvmBestEffort o rvmRequire |
ValidationTime | Tiempo al que se evalúan las comprobaciones de validez y frescura |
MaxPathLength | Número máximo de certificados entre la hoja y el trust anchor; Default fija 12 |
OCSPNoncePolicy | Si los nonces OCSP son obligatorios, se comparan cuando están presentes o se ignoran; Default los compara cuando están presentes |
ExpectedOCSPNonce | Bytes exactos del nonce que se exigen cuando la política requiere uno |
OCSPMaxAgeDays / CRLMaxAgeDays | Edad máxima aceptada de respuestas OCSP y de CRL; Default fija 7 y 30 días |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | Tolerancia de reloj aplicada a los timestamps de la evidencia; Default fija 5 minutos en cada caso |
RequireOCSPNextUpdate / RequireCRLNextUpdate | Rechaza la evidencia que no lleve campo next-update |
AllowDelegatedOCSPResponders | Acepta respuestas firmadas por respondedores delegados; Default lo permite |
RequireOCSPNoCheckForDelegated | Exige la extensión OCSPNoCheck en los certificados de los respondedores delegados |
AllowIndirectCRLs | Acepta CRL emitidas por un firmante de CRL indirecto; Default lo permite |
RequireDeltaCRLWhenAdvertised | Falla cuando se anuncia un puntero a delta CRL pero no se suministró ninguna delta CRL |
TrustPurpose / CustomTrustPurposeOID | Propósito de certificado exigido al trust anchor; Default acepta cualquier propósito |
InitialPolicySet | OIDs de política de certificado que la ruta validada debe satisfacer |
RequireExplicitCertificatePolicy | Exige al menos una política de certificado explícita en la ruta |
InhibitCertificatePolicyMapping | Desactiva el procesamiento del mapeo de políticas de certificado |
InhibitAnyCertificatePolicy | Excluye el qualifier anyPolicy del procesamiento de políticas |
AlgorithmPolicy | Límites de tamaño de clave y de algoritmos aplicados a cada certificado y firma de la ruta |
FetchMissingIntermediates | Busca los intermedios que falten mediante URLs AIA caIssuers antes de fallar con cvsPathBuildingFailed; el transporte queda del lado del llamador |
MaxFetchedIntermediates | Techo de cuántos intermedios puede buscar una validación mediante AIA |
Default | Class function que devuelve la configuración integrada resumida arriba |
Notas de uso
- Parta de
THPDFCertificateValidationOptions.Defaulty sobrescriba solo lo que su política necesita, de modo que las ventanas de frescura y el propósito de confianza coincidan con los valores por defecto de la biblioteca - La biblioteca nunca abre sockets: suministre la evidencia a través de los pools, o use la variante de validación online con un transporte del lado del llamador cuando
FetchMissingIntermediatesnecesite buscar - Los arrays de fuentes se emparejan uno a uno con los pools de evidencia, lo que permite que los informes atribuyan cada veredicto de revocación a su origen