4#ifndef PDF_SIGNER_DOC_TIMESTAMP_H
5#define PDF_SIGNER_DOC_TIMESTAMP_H
14 typedef struct _xmlNode xmlNode;
15 typedef xmlNode* xmlNodePtr;
36 struct PODOFO_API PdfSignerDocTimeStampParams final
38 PdfHashingAlgorithm Hashing = PdfHashingAlgorithm::SHA256;
40 PdfTimeStampService TimeStampService;
44 unsigned ReservedSize = 0;
45 PdfSignerDocTimeStampFlags Flags = PdfSignerDocTimeStampFlags::None;
57 static constexpr unsigned DefaultReservedSize = 8192;
65 void Reset()
override;
66 void AppendData(
const bufferview& data)
override;
70 std::string GetSignatureSubFilter()
const override;
71 std::string GetSignatureType()
const override;
74 const PdfSignerDocTimeStampParams& GetParameters()
const {
return m_parameters; }
78 void Dump(xmlNodePtr signerElem, std::string& temp);
79 void Restore(xmlNodePtr signerElem, charbuff& temp);
81 void ensureEventBasedTimestamping();
82 void ensureDeferredTimestamping();
83 void ensureDigestInitialized();
85 void ensureHashComputed();
86 void setContents(
const bufferview& timeStamp, charbuff& contents);
87 bool shouldVerify()
const;
89 nullable<bool> m_deferredTimestamping;
90 PdfSignerDocTimeStampParams m_parameters;
91 struct evp_md_ctx_st* m_digestCtx;
This class computes a document timestamp (/Type /DocTimeStamp) with a RFC 3161 timestamp token,...
Definition PdfSignerDocTimeStamp.h:53
A context that can be used to customize the signing process.
Definition PdfSigningContext.h:64
Convenient type for char array storage and/or buffer with std::string compatibility.
Definition basetypes.h:30
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
PdfSignerDocTimeStampFlags
Definition PdfSignerDocTimeStamp.h:28
@ None
Do not add a default appearance.
cspan< char > bufferview
Convenient read-only char buffer span.
Definition basetypes.h:15
@ SkipVerification
Skip the validation of the signature date against the validity period of the supplied certificate.
std::function< void(bufferview hash, bool dryrun, charbuff &timeStamp)> PdfTimeStampService
A service that obtains a RFC 3161 timestamp for the given document digest.
Definition PdfSignerDocTimeStamp.h:25