THPDFCertificateValidationOptions Record
Configura trust anchors, evidências offline de revogação, restrições de política e limites de algoritmos para a validação do caminho de certificados
Declaração
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;
Unidade
HPDFSignVerify
Campos
| Campo | Finalidade |
|---|---|
TrustAnchors | Certificados trust anchor em DER autorizados a fechar o caminho |
IntermediateCertificates | Certificados extras não confiáveis que o builder pode usar quando o pool CMS está incompleto |
OCSPResponses / CRLs / DeltaCRLs | Pools offline de respostas OCSP, CRLs base e delta CRLs |
CRLIssuerCertificates | Certificados usados para verificar assinaturas de signers de CRL |
OCSPResponseSources / CRLSources / DeltaCRLSources | Tag de fonte de evidência registrada para cada item do pool, exposta nas informações de validação |
RevocationMode | Seleciona o comportamento de revogação rvmNone, rvmBestEffort ou rvmRequire |
ValidationTime | Tempo em que as checagens de validade e frescor são avaliadas |
MaxPathLength | Número máximo de certificados entre a folha e a trust anchor; Default define 12 |
OCSPNoncePolicy | Se nonces OCSP são exigidos, confrontados quando presentes ou ignorados; Default confronta quando presente |
ExpectedOCSPNonce | Bytes exatos de nonce a exigir quando a política pede um |
OCSPMaxAgeDays / CRLMaxAgeDays | Idade máxima aceita de respostas OCSP e CRLs; Default define 7 e 30 dias |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | Tolerância de relógio aplicada aos timestamps das evidências; Default define 5 minutos para cada |
RequireOCSPNextUpdate / RequireCRLNextUpdate | Rejeita evidências sem campo next-update |
AllowDelegatedOCSPResponders | Aceita respostas assinadas por responders delegados; Default permite |
RequireOCSPNoCheckForDelegated | Exige a extensão OCSPNoCheck nos certificados de responders delegados |
AllowIndirectCRLs | Aceita CRLs emitidas por um signer de CRL indireto; Default permite |
RequireDeltaCRLWhenAdvertised | Falha quando um ponteiro de delta CRL é anunciado mas nenhuma delta CRL foi fornecida |
TrustPurpose / CustomTrustPurposeOID | Propósito de certificado exigido da trust anchor; Default aceita qualquer propósito |
InitialPolicySet | OIDs de política de certificado que o caminho validado deve satisfazer |
RequireExplicitCertificatePolicy | Exige pelo menos uma política de certificado explícita no caminho |
InhibitCertificatePolicyMapping | Desativa o processamento de mapeamento de políticas de certificado |
InhibitAnyCertificatePolicy | Exclui o qualificador anyPolicy do processamento de políticas |
AlgorithmPolicy | Limites de tamanho de chave e de algoritmo aplicados a todos os certificados e assinaturas do caminho |
FetchMissingIntermediates | Busca intermediários ausentes por URLs AIA caIssuers antes de falhar com cvsPathBuildingFailed; o transporte fica do lado do chamador |
MaxFetchedIntermediates | Teto de quantos intermediários uma validação pode buscar por AIA |
Default | Class function que retorna a configuração built-in resumida acima |
Notas de uso
- Parta de
THPDFCertificateValidationOptions.Defaulte sobrescreva apenas o que a sua política precisa, para que janelas de frescor e propósito de confiança acompanhem os padrões da biblioteca - A biblioteca nunca abre sockets: forneça evidências pelos pools, ou use a variante de validação online com transporte do lado do chamador quando
FetchMissingIntermediatesprecisar buscar - Os arrays de fontes casam um a um com os pools de evidências, permitindo que os relatórios atribuam cada veredito de revogação à origem dele