Registro THPDFCertificateValidationOptions
Configura anclas de confianza, evidencia de revocación sin conexión, restricciones de política y límites de algoritmos para la validación de la ruta 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 ancla de confianza codificados en DER que pueden cerrar la ruta |
IntermediateCertificates | Certificados adicionales no confiables que el constructor puede usar cuando el pool CMS está incompleto |
OCSPResponses / CRLs / DeltaCRLs | Pools sin conexión 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 | Momento en el que se evalúan las comprobaciones de validez y frescura |
MaxPathLength | Número máximo de certificados entre la hoja y el ancla de confianza; Default fija 12 |
OCSPNoncePolicy | Si los nonce OCSP son obligatorios, se comprueban cuando están presentes o se ignoran; Default los comprueba cuando están presentes |
ExpectedOCSPNonce | Bytes exactos de nonce que exigir cuando la política lo requiere |
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 las marcas de tiempo de la evidencia; Default fija 5 minutos para cada una |
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 ancla de confianza; Default acepta cualquier propósito |
InitialPolicySet | OIDs de política de certificados que la ruta validada debe cumplir |
RequireExplicitCertificatePolicy | Exige al menos una política de certificado explícita en la ruta |
InhibitCertificatePolicyMapping | Desactiva el procesado del mapeo de políticas de certificados |
InhibitAnyCertificatePolicy | Excluye el cualificador anyPolicy del procesado de políticas |
AlgorithmPolicy | Límites de tamaño de clave y de algoritmos aplicados a cada certificado y firma de la ruta |
FetchMissingIntermediates | Recupera los intermedios que falten mediante URLs AIA caIssuers antes de fallar con cvsPathBuildingFailed; el transporte queda del lado del llamador |
MaxFetchedIntermediates | Límite de cuántos intermedios puede recuperar una validación mediante AIA |
Default | Función de clase que devuelve la configuración integrada resumida arriba |
Notas de uso
- Parta de
THPDFCertificateValidationOptions.Defaulty sobrescriba solo lo que su política necesite, 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 mediante los pools, o use la variante de validación en línea con un transporte del lado del llamador cuando
FetchMissingIntermediatestenga que recuperar - Los arrays de fuentes se corresponden uno a uno con los pools de evidencia, de modo que los informes pueden atribuir cada veredicto de revocación a su origen