THPDFCertificateValidationOptions 记录

为证书路径验证配置信任锚、离线吊销证据、策略约束和算法限制

声明

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;

单元

HPDFSignVerify

字段

字段用途
TrustAnchors允许闭合路径的 DER 编码信任锚证书
IntermediateCertificatesCMS 证书池不完整时构建器可以使用的额外非受信证书
OCSPResponses / CRLs / DeltaCRLsOCSP 响应、基本 CRL 和增量 CRL 的离线池
CRLIssuerCertificates用于验证 CRL 签名者签名的证书
OCSPResponseSources / CRLSources / DeltaCRLSources为池中每一项记录的证据来源标记,会呈现在验证信息上
RevocationMode选择 rvmNone、rvmBestEffort 或 rvmRequire 吊销行为
ValidationTime有效期与新鲜度检查所依据的时间
MaxPathLength叶子证书与信任锚之间的最大证书数;Default 设为 12
OCSPNoncePolicyOCSP nonce 是必须存在、存在即比对还是忽略;Default 为存在即比对
ExpectedOCSPNonce策略要求 nonce 时必须精确匹配的 nonce 字节
OCSPMaxAgeDays / CRLMaxAgeDaysOCSP 响应和 CRL 可接受的最大年龄;Default 分别设为 7 天和 30 天
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutes应用于证据时间戳的时钟容差;Default 各设为 5 分钟
RequireOCSPNextUpdate / RequireCRLNextUpdate拒绝不带下一次更新字段的证据
AllowDelegatedOCSPResponders接受由委托响应器签署的响应;Default 允许
RequireOCSPNoCheckForDelegated要求委托响应器证书带有 OCSPNoCheck 扩展
AllowIndirectCRLs接受由间接 CRL 签名者发布的 CRL;Default 允许
RequireDeltaCRLWhenAdvertised声明了增量 CRL 指针却未提供增量 CRL 时判为失败
TrustPurpose / CustomTrustPurposeOID信任锚必须满足的证书用途;Default 接受任意用途
InitialPolicySet已验证路径必须满足的证书策略 OID
RequireExplicitCertificatePolicy要求路径中至少有一个显式证书策略
InhibitCertificatePolicyMapping禁用证书策略映射处理
InhibitAnyCertificatePolicy在策略处理中排除 anyPolicy 限定符
AlgorithmPolicy应用于路径中每张证书和每个签名的密钥长度与算法限制
FetchMissingIntermediates在以 cvsPathBuildingFailed 失败之前,先通过 AIA caIssuers URL 抓取缺失的中间证书;传输仍由调用方负责
MaxFetchedIntermediates一次验证可通过 AIA 抓取的中间证书数量上限
Default类函数,返回上述内置配置

使用说明

相关 API