3#ifndef PDFSDK_CXX_PDF_FORM_FIELD_H_INCLUDED_
4#define PDFSDK_CXX_PDF_FORM_FIELD_H_INCLUDED_
10#include <pdfsdk/cxx/bytes.h>
12#include "forward_declarations.h"
13#include "ltv_handler.h"
14#include "timestamp_handler.h"
15#include "wrapper_base.h"
20enum class SigChainStatus {
29enum class SigRevocationStatus {
37enum class SigTimeSource {
60 SigChainStatus chain = SigChainStatus::Error;
61 SigRevocationStatus revocation = SigRevocationStatus::Unknown;
62 SigTimeSource timeSource = SigTimeSource::None;
69 chain == SigChainStatus::Ok &&
70 revocation == SigRevocationStatus::Good;
216 virtual std::vector<Byte>
Sign(std::span<const Byte> data) = 0;
224class FormField :
public detail::RefCountedHandle<PDField> {
478 void SignApprove(std::shared_ptr<SignHandler> signer,
const std::wstring& reason);
599 PDF_CXX_CORE_WRAPPER_DEFINE_MEMBERS_(FormField, PDField)
604#include "form_field_impl.inl"
Represents an annotation in a PDF document.
Definition annot.h:24
A callback interface for providing revocation data for LTV (Long-Term Validation).
Definition ltv_handler.h:24
Represents a PDF object.
Definition object.h:25
A callback interface for signing a PDF document.
Definition form_field.h:86
virtual void CustomizeSigDict(Object dict)=0
Add custom entries to a signature dictionary.
virtual std::string GetFilter()=0
Get the name of the signature handler implementation to use for creating a signature.
virtual std::vector< Byte > Sign(std::span< const Byte > data)=0
Creates a CMS signature blob from the raw byte data to be signed.
virtual size_t EstimateMaxSize()=0
Estimate the maximum size of the PDF signature.
virtual std::vector< Byte > GetCertData(size_t index)=0
Get the DER-encoded X.509 certificate, from the certificate chain you have used.
virtual std::string GetSubFilter()=0
Get the name of the encoding for processing/validating a signature.
virtual size_t GetNumCerts()=0
Get the number of signing certificates, from the X.509 certificate chain you used.
Inputs for FormField::ValidateLTV().
Definition form_field.h:49
bool requireRevocation
Missing revocation data => not valid.
Definition form_field.h:51
std::vector< std::vector< Byte > > trustAnchors
DER-encoded X.509 roots.
Definition form_field.h:50
Outcome of FormField::ValidateLTV().
Definition form_field.h:57
bool ltvEnabled
DSS material was present and used.
Definition form_field.h:64
bool documentCovered
Whole doc, or only permitted later changes.
Definition form_field.h:59
bool IsValidLTV() const
Definition form_field.h:67
bool integrityValid
Digest over the /ByteRange verifies.
Definition form_field.h:58