Go to the documentation of this file.
15 #ifndef FS_SIGNATURE_H_
16 #define FS_SIGNATURE_H_
33 class PagingSealSignature;
117 typedef enum _States {
119 e_StateUnknown = 0x80000000,
121 e_StateNoSignData = 0x00000200,
123 e_StateUnsigned = 0x00000001,
125 e_StateSigned = 0x00000002,
127 e_StateVerifyValid = 0x00000004,
129 e_StateVerifyInvalid = 0x00000008,
131 e_StateVerifyErrorData = 0x00000010,
133 e_StateVerifyNoSupportWay = 0x00000020,
135 e_StateVerifyErrorByteRange = 0x00000040,
137 e_StateVerifyChange = 0x00000080,
139 e_StateVerifyIncredible = 0x00000100,
141 e_StateVerifyNoChange = 0x00000400,
143 e_StateVerifyIssueValid = 0x00001000,
145 e_StateVerifyIssueUnknown = 0x00002000,
147 e_StateVerifyIssueRevoke = 0x00004000,
149 e_StateVerifyIssueExpire = 0x00008000,
151 e_StateVerifyIssueUncheck = 0x00010000,
153 e_StateVerifyIssueCurrent = 0x00020000,
155 e_StateVerifyTimestampNone = 0x00040000,
157 e_StateVerifyTimestampDoc = 0x00080000,
159 e_StateVerifyTimestampValid = 0x00100000,
161 e_StateVerifyTimestampInvalid = 0x00200000,
163 e_StateVerifyTimestampExpire = 0x00400000,
165 e_StateVerifyTimestampIssueUnknown = 0x00800000,
167 e_StateVerifyTimestampIssueValid = 0x01000000,
169 e_StateVerifyTimestampTimeBefore = 0x02000000,
171 e_StateCertCannotGetVRI = 0x04000000,
173 e_StateVerifyChangeLegal = 0x08000000,
175 e_StateVerifyChangeIllegal = 0x10000000
183 typedef enum _APFlags {
185 e_APFlagFoxitFlag = 0x0001,
187 e_APFlagLabel = 0x0002,
189 e_APFlagReason = 0x0004,
191 e_APFlagSigningTime = 0x0008,
195 e_APFlagLocation = 0x0020,
197 e_APFlagSigner = 0x0040,
199 e_APFlagBitmap = 0x0080,
201 e_APFlagText = 0x0100,
203 e_APFlagFoxitEditorFlag = 0x0200,
205 e_APFlagProducer = 0x0400
213 typedef enum _KeyName {
217 e_KeyNameLocation = 1,
221 e_KeyNameContactInfo = 3,
227 e_KeyNameProducer = 6
235 typedef enum _DigestAlgorithm {
251 typedef enum _SignatureType {
253 e_SignatureTypeOrdinary = 0,
255 e_SignatureTypeTimeStamp = 3,
257 e_SignatureTypePagingSeal = 4
265 typedef enum _PAdESLevel {
267 e_PAdESLevelNotPAdES = 0,
269 e_PAdESLevelNone = 1,
285 typedef enum _DocPermission {
287 e_DocPermUnrestricted = 0,
292 e_DocPermNoChangesAllowed = 1,
297 e_DocPermFillingFormAndSigning = 2,
302 e_DocPermFillingFormSigningAndAnnotating = 3
310 typedef enum _FieldMDPAction {
312 e_FieldMDPActionNone = 0,
316 e_FieldMDPActionAll = 1,
322 e_FieldMDPActionInclude = 2,
328 e_FieldMDPActionExclude = 3
336 typedef enum _LabelName {
342 e_LabelNameSigner = 0,
348 e_LabelNameLocation = 1,
354 e_LabelNameReason = 2,
360 e_LabelNameSignTime = 3,
372 e_LabelNameProducer = 6
402 bool IsEmpty()
const;
429 void SetDocPermission(DocPermission permission);
443 DocPermission GetDocPermission();
468 void SetFieldMDPActionFields(
const FieldMDPAction& action,
const WStringArray& field_array);
476 FieldMDPAction GetFieldMDPAction();
505 void EnableIncrementalSaveForFirstSigning(
bool enable_incremental_save);
566 DigestAlgorithm digest_algorithm,
const char* save_path,
627 DigestAlgorithm digest_algorithm,
const char* save_path,
687 DigestAlgorithm digest_algorithm,
const wchar_t* save_path,
746 DigestAlgorithm digest_algorithm,
const wchar_t* save_path,
924 String GetCertificateInfo(
const char* key);
940 bool GetByteRangeArray(
uint32 out_byte_range_array[4]);
980 bool ClearSignedData();
1002 PDFDoc GetSignedVersionDocument(
const wchar_t* file_path);
1014 uint32 GetAppearanceFlags();
1032 void SetAppearanceFlags(
uint32 appearance_flags);
1053 void SetAppearanceContent(
const String& appearance_content);
1073 void SetSignTime(
const DateTime& sign_time);
1105 void SetFilter(
const char* filter);
1137 void SetSubFilter(
const char* sub_filter);
1150 WString GetKeyValue(KeyName key);
1167 void SetKeyValue(KeyName key,
const wchar_t* value);
1186 void SetKeyLabel(LabelName label_name,
const wchar_t* label_value);
1198 WString GetKeyLabel(LabelName label_name);
1256 void SetImage(
const char* file_path,
int frame_index);
1274 void SetImage(
const wchar_t* file_path,
int frame_index);
1302 void SetDefaultContentsLength(
uint32 default_length);
1314 int32 GetCertCount()
const;
1352 SignatureType GetSignatureType();
1367 PAdESLevel GetPAdESLevel();
1402 bool GenerateAppearance();
1424 void EnableEmbedFont(
bool enable_embed_font);
1426 #if (_FX_OS_ == _FX_IOS_ || _FX_OS_ == _FX_ANDROID_ || defined(SWIG)) && !defined(_SWIG_JAVA_) && !defined(_SWIG_DOTNET_) && !defined(_SWIG_PYTHON_) && !defined(_OC_) && !defined(_SWIG_MACOC_) && !defined(_MAUI_) && !defined(_SWIG_NODEJS_)
1436 bool DetectModification();
1438 #ifndef __EMSCRIPTEN_RENDER__
1460 typedef enum _CertValidity {
1506 uint32 size_of_array,
const Signature& signature,
const void* client_data) = 0;
1563 virtual String Sign(
const void* digest,
uint32 digest_length,
const wchar_t* cert_path,
1565 void* client_data) = 0;
1591 void* client_data) = 0;
1616 const void* signed_data,
uint32 signed_data_len,
1617 void* client_data) = 0;
1653 class TimeStampServer;
1776 typedef enum _SendRequestResult {
1909 typedef enum _PagingSealPosition {
1925 typedef enum _PagingSealStyle {
1984 this->offset == paging_seal_config.
offset &&
2004 this->offset != paging_seal_config.
offset ||
2098 typedef enum _PagingSealAPState {
2153 #endif // FS_SIGNATURE_H_
Unsigned signature.
Definition: fs_signature.h:2102
~PagingSealSignature()
Destructor.
Definition: fs_signature.h:2113
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
static void Release()
Release time stamp server manager.
Right Paging Seal.
Definition: fs_signature.h:1913
TimeStampServer & operator=(const TimeStampServer &other)
Assign operator.
virtual uint32 VerifySigState(const void *digest, uint32 digest_length, const void *signed_data, uint32 signed_data_len, void *client_data)=0
A callback function used to verify the integrity of a signature and return the verify state.
Verification state of a signature is valid.
Definition: fs_signature.h:2106
Definition: fs_basictypes.h:460
Fail to create socket during sending request process.
Definition: fs_signature.h:1780
bool operator==(const PagingSealConfig &paging_seal_config) const
Equal operator.
Definition: fs_signature.h:1982
virtual String Sign(const void *digest, uint32 digest_length, const wchar_t *cert_path, const WString &cert_password, Signature::DigestAlgorithm digest_algorithm, void *client_data)=0
A callback function used to do signing and return the signed data.
bool IsEmpty() const
Check whether current object is empty or not.
CFX_Object Object
Object type.
Definition: fs_basictypes.h:221
Definition: fs_common.h:346
Definition: fs_signature.h:1769
static ErrorCode Initialize()
Initialize time stamp server manager.
Certificate's path is wrong.
Definition: fs_signature.h:1472
Only add one signature. This signature is used for signature and verification and will be hidden in t...
Definition: fs_signature.h:1935
static void RemoveServer(int index)
Remove a time stamp server from the manager, by index.
File stream interface, reading & writing.
Definition: fx_stream.h:675
bool operator!=(const TimeStampServer &other) const
Not equal operator.
PagingSealAPState
Enumeration for paging seal signature state to set appearance.
Definition: fs_signature.h:2098
Header file for common definitions and classes.
~Signature()
Destructor.
Definition: fs_signature.h:393
virtual String GetTimeStampMessage()=0
A callback function used to get time stamp message.
PagingSealPosition paging_seal_position
The position of paging seal. Please refer to values starting from PagingSealConfig::e_PagingSealPosit...
Definition: fs_signature.h:2039
virtual CertValidity CheckCertificateValidity(const wchar_t *cert_path, const WString &cert_password, void *client_data)=0
A callback function used to check the validity of a certificate.
Top Paging Seal.
Definition: fs_signature.h:1915
File reading interface.
Definition: fx_stream.h:570
Header file for file operation related definitions and functions.
virtual bool StartCalcDigest(const common::file::ReaderCallback *file, const uint32 *byte_range_array, uint32 size_of_array, const Signature &signature, const void *client_data)=0
A callback function used to start a custom digest calculation, mainly to initialize the calculation p...
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:237
CertValidity
Enumeration for certificate validity.
Definition: fs_signature.h:1460
Certificate's password is wrong.
Definition: fs_signature.h:1470
Definition: fs_pdfobject.h:55
Fail to get data during sending request process.
Definition: fs_signature.h:1790
Fail to receive data during sending request process.
Definition: fs_signature.h:1786
PagingSealConfig & operator=(const PagingSealConfig &paging_seal_config)
Assign operator.
Definition: fs_signature.h:1964
int page_count_for_each_seal
The page count of each seal. This value only useful when the parameter is_display_multiple_seal is tr...
Definition: fs_signature.h:2080
SendRequestResult
Enumeration for the result of sending time stamp request.
Definition: fs_signature.h:1776
Definition: fs_signature.h:1868
virtual void Release()=0
A callback function used to release current callback object itself.
Certificate's private key cannot be gotten.
Definition: fs_signature.h:1476
virtual common::Progressive::State ContinueCalcDigest(const void *client_data, const common::PauseCallback *pause)=0
A callback function used to continue the custom digest calculation process.
BYTE STRING CLASS.
Definition: fx_string.h:317
PagingSealPosition
Enumeration for paging seal position.
Definition: fs_signature.h:1909
Fail to connect during sending request process.
Definition: fs_signature.h:1782
static void SetDefaultServer(int index)
Set default time stamp server object by index.
Definition: fs_signature.h:99
bool operator==(const TimeStampServer &other) const
Equal operator.
Certificate's data is error.
Definition: fs_signature.h:1468
Certificate is expired.
Definition: fs_signature.h:1464
Unknown signature.
Definition: fs_signature.h:2100
PagingSealStyle
Enumeration for paging seal signature style.
Definition: fs_signature.h:1925
static TimeStampServer AddServer(const WString &server_name, const WString &server_url, const WString &user_name, const WString &password)
Add a time stamp server to the manager.
static int GetServerCount()
Get time stamp server count.
Foxit namespace.
Definition: fs_taggedpdf.h:27
PagingSealConfig(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation, PagingSealStyle paging_seal_style=PagingSealConfig::e_PagingSealStyleMultipleSignatures, bool is_display_multiple_seal=false, int page_count_for_each_seal=30)
Constructor, with parameter.
SendRequestResult SendTimeStampRequest(const String &request)
Send time stamp request.
bool GenerateAppearance()
Generate the appearance of paging seal signature.
float offset
The offset of paging seal signature.
Definition: fs_signature.h:2051
String GetTimeStampMessage()
Get time stamp message.
bool operator!=(const PagingSealConfig &paging_seal_config) const
Not equal operator.
Definition: fs_signature.h:2002
Signed signature.
Definition: fs_signature.h:2104
bool is_display_multiple_seal
Decide whether to display multiple paging seal appearance for current paging seal signature....
Definition: fs_signature.h:2075
Definition: fx_basic.h:3761
Header file for image and bitmap related definitions and classes.
Definition: fs_pdfobject.h:809
void Set(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation, PagingSealStyle paging_seal_style, bool is_display_multiple_seal=false, int page_count_for_each_seal=30)
Set value.
Fail to send data during sending request process.
Definition: fs_signature.h:1784
virtual bool IsNeedPadData()=0
A callback function used to check whether to return all contents with padding zero or not,...
bool is_on_perforation
Decide whether to chop a seal that covering the left or right margin of each two pages....
Definition: fs_signature.h:2062
virtual TimeStampServer::SendRequestResult SendTimeStampRequest(const String &request)=0
A callback function used to send time stamp request.
Definition: fs_signature.h:2091
Certificate is unsupport type.
Definition: fs_signature.h:1466
void SetAPStateBitmap(PagingSealAPState ap_state, const common::Bitmap &bitmap)
Set a bitmap for the appearance of signature state.
#define NULL
The null-pointer value.
Definition: fx_system.h:780
Fail to request during sending request process.
Definition: fs_signature.h:1788
Definition: fs_signature.h:37
Definition: fs_signature.h:1902
Definition: fs_pdfdoc.h:610
PagingSealStyle paging_seal_style
The style of paging seal signature. Please refer to values starting from PagingSealConfig::e_PagingSe...
Definition: fs_signature.h:2069
virtual void Release()=0
A callback function used to release current callback object itself.
Bottom Paging Seal.
Definition: fs_signature.h:1917
State
Enumeration for progress state.
Definition: fs_common.h:353
FX_INT32 int32
32-bit signed integer.
Definition: fs_basictypes.h:194
Left Paging Seal.
Definition: fs_signature.h:1911
Definition: fs_image.h:448
static int GetServerIndex(const TimeStampServer &server)
Get the index of a speicified time stamp server object.
DigestAlgorithm
Enumeration for signature digest algorithm.
Definition: fs_signature.h:235
Definition: fs_basictypes.h:228
Verification state of a signature is invalid.
Definition: fs_signature.h:2108
Out of memory during sending request process.
Definition: fs_signature.h:1792
static TimeStampServer GetServer(int index)
Get time stamp server with specified index.
~TimeStampServer()
Destructor.
Send request successfully.
Definition: fs_signature.h:1778
Definition: fs_signature.h:1453
static TimeStampServer GetDefaultServer()
Get default time stamp server object.
WIDE STRING CLASS.
Definition: fx_string.h:1452
Definition: fs_image.h:36
Definition: fs_signature.h:1663
virtual String GetDigest(const void *client_data)=0
A callback function used to get the digest after the calculation process is finished.
Certificate is valid.
Definition: fs_signature.h:1462
void SetPagingSealConfig(PagingSealConfig paging_seal_config)
Set the config of paging seal signature.
Certificate is not set to sign a signature.
Definition: fs_signature.h:1474
TimeStampServer(const TimeStampServer &other)
Constructor, with another time stamp server object.
float first_page_percent
The percent of the first paging seal. The rest percent will be divided equally by the other paging se...
Definition: fs_signature.h:2056
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
Definition: fs_basictypes.h:427
Add multiple signatures. Use the Signature to display the appearance of paging seal signature,...
Definition: fs_signature.h:1930
@2024 Foxit Software Incorporated. All rights reserved.