Záznam THPDFCertificateValidationOptions
Nastavuje kotvy důvěry, offline důkazy o odvolání, omezení politik a limity algoritmů pro ověření cesty certifikátů
Deklarace
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;
Jednotka
HPDFSignVerify
Pole
| Pole | Účel |
|---|---|
TrustAnchors | Certifikáty kotev důvěry v kódování DER, které smějí cestu uzavřít |
IntermediateCertificates | Extra nedůvěryhodné certifikáty, které může stavěč použít, když je pool CMS neúplný |
OCSPResponses / CRLs / DeltaCRLs | Offline fondy OCSP odpovědí, základních CRL a delta CRL |
CRLIssuerCertificates | Certifikáty používané k ověření podpisů podepisujících CRL |
OCSPResponseSources / CRLSources / DeltaCRLSources | Značka zdroje důkazů zaznamenaná pro každou položku ve fondu, zobrazovaná v ověřovacích informacích |
RevocationMode | Volí chování odvolání rvmNone, rvmBestEffort nebo rvmRequire |
ValidationTime | Čas, vůči kterému se posuzují kontroly platnosti a čerstvosti |
MaxPathLength | Maximální počet certifikátů mezi listovým certifikátem a kotvou důvěry; Default nastavuje 12 |
OCSPNoncePolicy | Zda se OCSP nonce vyžadují, porovnávají, když jsou přítomné, nebo ignorují; Default porovnává, když jsou přítomné |
ExpectedOCSPNonce | Přesné bajty nonce, které se mají vyžadovat, pokud je politika vyžaduje |
OCSPMaxAgeDays / CRLMaxAgeDays | Maximální přijímané stáří OCSP odpovědí a CRL; Default nastavuje 7 a 30 dní |
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes | Tolerance hodin použitá na časová razítka důkazů; Default nastavuje u obou 5 minut |
RequireOCSPNextUpdate / RequireCRLNextUpdate | Odmítá důkazy, které nenesou pole next-update |
AllowDelegatedOCSPResponders | Přijímá odpovědi podepsané delegovanými respondéry; Default je povoluje |
RequireOCSPNoCheckForDelegated | Vyžaduje rozšíření OCSPNoCheck na certifikátech delegovaných respondérů |
AllowIndirectCRLs | Přijímá CRL vydané nepřímým podepisujícím CRL; Default je povoluje |
RequireDeltaCRLWhenAdvertised | Selže, když je deklarován ukazatel na delta CRL, ale žádná delta CRL nebyla dodána |
TrustPurpose / CustomTrustPurposeOID | Vyžadovaný účel certifikátu pro kotvu důvěry; Default přijímá jakýkoli účel |
InitialPolicySet | OID certifikátových politik, kterým musí ověřená cesta vyhovět |
RequireExplicitCertificatePolicy | Vyžaduje alespoň jednu explicitní certifikátovou politiku v cestě |
InhibitCertificatePolicyMapping | Vypne zpracování mapování certifikátových politik |
InhibitAnyCertificatePolicy | Vyloučí kvalifikátor anyPolicy ze zpracování politik |
AlgorithmPolicy | Limity velikosti klíče a algoritmů použité na každý certifikát a podpis v cestě |
FetchMissingIntermediates | Před selháním s cvsPathBuildingFailed stáhne chybějící mezilehlé certifikáty přes AIA caIssuers URL; transport zůstává na straně volajícího |
MaxFetchedIntermediates | Strop toho, kolik mezilehlých certifikátů může jedno ověření stáhnout přes AIA |
Default | Třídní funkce vracející výše shrnutou vestavěnou konfiguraci |
Poznámky k použití
- Začněte od
THPDFCertificateValidationOptions.Defaulta přepište jen to, co vaše politika potřebuje, aby okna čerstvosti a účel důvěry odpovídaly výchozím hodnotám knihovny - Knihovna nikdy neotevře sokety: důkazy dodávejte přes fondy, nebo použijte online variantu ověření s transportem na straně volajícího, když má
FetchMissingIntermediatesco stahovat - Zdrojová pole odpovídají 1:1 fondům důkazů, takže reporty mohou přiřadit každý výsledek odvolání k jeho původu