Запись THPDFCMSVerifyOptions

Задаёт лимиты верификации подписей CMS, внешние provider-ы, закрепление политики подписи и повторную верификацию меток времени

Объявление

THPDFCMSVerifyOptions= record
  SignatureProvider: THPDFSignatureProvider;
  AllowMLDSA: boolean;
  OpenSSLLibraryPath: string;
  MaxSignerCount: Integer;
  MaxCounterSignatureDepth: Integer;
  // Policy pinning is applied to primary SignerInfo values. Empty
  // expected fields do not constrain the corresponding policy field
  RequireSignaturePolicy: boolean;
  ExpectedSignaturePolicyOID: AnsiString;
  ExpectedSignaturePolicyHash: TBytes;
  SignaturePolicyDocument: TBytes;
  // Set this flag to hash an intentionally empty policy document
  VerifySignaturePolicyDocumentHash: boolean;
  RejectUnknownSignaturePolicyHash: boolean;
  // Batch validation sets this when a shared timestamp cache already
  // holds the verdict for the embedded signature timestamp token: token
  // re-verification is skipped and the caller restores the cached
  // THPDFTimestampInfo afterwards. Document timestamps (ETSI.RFC3161)
  // never take this path because the token is the primary signature
  SkipSignatureTimestampVerification: boolean;
  class function Default: THPDFCMSVerifyOptions; static;
end;

Модуль

HPDFSignVerify

Поля

ПолеНазначение
SignatureProviderНеобязательный внешний THPDFSignatureProvider для примитивов подписи и верификации; nil выбирает встроенную реализацию
AllowMLDSAРазрешает подписи ML-DSA при верификации
OpenSSLLibraryPathКаталог с библиотеками OpenSSL, когда верификация идёт через бэкенд OpenSSL
MaxSignerCountВерхняя граница числа обрабатываемых основных подписантов; Default задаёт 256
MaxCounterSignatureDepthПредел вложенности контр-подписей; Default задаёт 8
RequireSignaturePolicyПри True подписи без политики подписи считаются проваленными
ExpectedSignaturePolicyOIDOID политики, который основной SignerInfo должен предъявить; пусто — без ограничения
ExpectedSignaturePolicyHashОжидаемый digest политики для закрепления; пусто — без ограничения
SignaturePolicyDocumentБайты документа политики, используемые для сравнения хешей
VerifySignaturePolicyDocumentHashПри True хешировать намеренно пустой документ политики
RejectUnknownSignaturePolicyHashВалит верификацию, когда встроенный хеш политики не совпал ни с одним ожидаемым значением
SkipSignatureTimestampVerificationДоверяет кэшированному вердикту для встроенного токена метки времени подписи при пакетной валидации
DefaultКлассовая функция, возвращающая обнулённую запись с MaxSignerCount 256 и MaxCounterSignatureDepth 8

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

Связанные API