Запись THPDFCertificateValidationOptions

Задаёт trust anchor-ы, офлайн-доказательства отзыва, ограничения политик и лимиты алгоритмов для валидации цепочки сертификатов

Объявление

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Сертификаты trust anchor в кодировке DER, которым разрешено замыкать цепочку
IntermediateCertificatesДополнительные недоверенные сертификаты, которые построитель может использовать, когда пул CMS неполон
OCSPResponses / CRLs / DeltaCRLsОфлайн-пулы ответов OCSP, базовых CRL и delta CRL
CRLIssuerCertificatesСертификаты для проверки подписей подписантов CRL
OCSPResponseSources / CRLSources / DeltaCRLSourcesТег источника доказательств, записываемый для каждого элемента пула и всплывающий в validation info
RevocationModeВыбирает поведение отзыва rvmNone, rvmBestEffort или rvmRequire
ValidationTimeМомент, в который оцениваются проверки срока действия и свежести
MaxPathLengthМаксимум сертификатов между leaf и trust anchor; Default задаёт 12
OCSPNoncePolicyТребуются ли nonce OCSP, сверяются ли при наличии или игнорируются; Default сверяет при наличии
ExpectedOCSPNonceТочные байты nonce, которые требовать, когда политика его требует
OCSPMaxAgeDays / CRLMaxAgeDaysМаксимальный принимаемый возраст ответов OCSP и CRL; Default задаёт 7 и 30 дней
OCSPAllowedClockSkewMinutes / CRLAllowedClockSkewMinutesДопуск на расхождение часов, применяемый к меткам времени доказательств; Default задаёт по 5 минут
RequireOCSPNextUpdate / RequireCRLNextUpdateОтклонять доказательства без поля next-update
AllowDelegatedOCSPRespondersПринимать ответы, подписанные делегированными responder-ами; Default разрешает
RequireOCSPNoCheckForDelegatedТребовать расширение OCSPNoCheck на сертификатах делегированных responder-ов
AllowIndirectCRLsПринимать CRL, выпущенные косвенным подписантом CRL; Default разрешает
RequireDeltaCRLWhenAdvertisedВалить проверку, когда указатель delta CRL объявлен, но сам delta CRL не передан
TrustPurpose / CustomTrustPurposeOIDТребуемое назначение сертификата для trust anchor; Default принимает любое
InitialPolicySetOID политик сертификатов, которым должна удовлетворять валидированная цепочка
RequireExplicitCertificatePolicyТребовать хотя бы одну явную политику сертификатов в цепочке
InhibitCertificatePolicyMappingОтключить обработку преобразования политик сертификатов
InhibitAnyCertificatePolicyИсключить квалификатор anyPolicy из обработки политик
AlgorithmPolicyЛимиты размеров ключей и алгоритмов, применяемые к каждому сертификату и подписи в цепочке
FetchMissingIntermediatesДозапрашивать недостающие промежуточные сертификаты через AIA caIssuers URL, прежде чем упасть с cvsPathBuildingFailed; транспорт остаётся на стороне вызывающего
MaxFetchedIntermediatesПредел того, сколько промежуточных сертификатов одна валидация может дозапросить через AIA
DefaultКлассовая функция, возвращающая встроенную конфигурацию, сведённую выше

Примечания по использованию

Связанные API