Foxit PDF SDK
fs_signature.h
Go to the documentation of this file.
1 
15 #ifndef FS_SIGNATURE_H_
16 #define FS_SIGNATURE_H_
17 
18 #include "common/fs_common.h"
19 #include "common/file/fs_file.h"
20 #include "common/fs_image.h"
22 
28 namespace foxit {
32 namespace pdf {
93 class Signature : public interform::Field {
94  public:
111  typedef enum _States {
113  e_StateUnknown = 0x80000000,
115  e_StateNoSignData = 0x00000200,
117  e_StateUnsigned = 0x00000001,
119  e_StateSigned = 0x00000002,
121  e_StateVerifyValid = 0x00000004,
123  e_StateVerifyInvalid = 0x00000008,
131  e_StateVerifyChange = 0x00000080,
135  e_StateVerifyNoChange = 0x00000400,
170  } States;
171 
177  typedef enum _APFlags {
181  e_APFlagLabel = 0x0002,
183  e_APFlagReason = 0x0004,
187  e_APFlagDN = 0x0010,
191  e_APFlagSigner = 0x0040,
193  e_APFlagBitmap = 0x0080,
195  e_APFlagText = 0x0100
196  } APFlags;
197 
203  typedef enum _KeyName {
216  } KeyName;
217 
223  typedef enum _DigestAlgorithm {
232  } DigestAlgorithm;
233 
239  typedef enum _SignatureType {
246  } SignatureType;
247 
253  typedef enum _PAdESLevel {
266  } PAdESLevel;
267 
273  typedef enum _DocPermission {
291  } DocPermission;
292 
298  typedef enum _FieldMDPAction {
317  } FieldMDPAction;
318 
324  typedef enum _LabelName {
355  } LabelName;
356 
357 
363  explicit Signature(const interform::Field& field);
364 
372  Signature(const foxit::pdf::PDFDoc& document, foxit::pdf::objects::PDFDictionary* sig_field_dict);
373 
376 
384  bool IsEmpty() const;
385 
391  bool IsSigned();
392 
411  void SetDocPermission(DocPermission permission);
412 
426 
450  void SetFieldMDPActionFields(const FieldMDPAction& action, const WStringArray& field_array);
451 
459 
476 
533  common::Progressive StartSign(const wchar_t* cert_path, const WString& cert_password,
534  DigestAlgorithm digest_algorithm, const char* save_path,
535  const void* client_data = NULL, common::PauseCallback* pause = NULL);
536 
592  common::Progressive StartSign(foxit::common::file::StreamCallback* cert_file_stream, const WString& cert_password,
593  DigestAlgorithm digest_algorithm, const char* save_path,
594  const void* client_data = NULL, common::PauseCallback* pause = NULL);
595 
650  common::Progressive StartSign(const wchar_t* cert_path, const WString& cert_password,
651  DigestAlgorithm digest_algorithm, const wchar_t* save_path,
652  const void* client_data = NULL, common::PauseCallback* pause = NULL);
653 
707  common::Progressive StartSign(foxit::common::file::StreamCallback* cert_file_stream, const WString& cert_password,
708  DigestAlgorithm digest_algorithm, const wchar_t* save_path,
709  const void* client_data = NULL, common::PauseCallback* pause = NULL);
710 
767  common::Progressive StartSign(const wchar_t* cert_path, const foxit::WString& cert_password,
769  const void* client_data = NULL, foxit::common::PauseCallback* pause = NULL);
770 
828  const void* client_data = NULL, foxit::common::PauseCallback* pause = NULL);
829 
861  common::Progressive StartVerify(const void* client_data = NULL, common::PauseCallback* pause = NULL);
862 
882  String GetCertificateInfo(const char* key);
883 
898  bool GetByteRangeArray(uint32 out_byte_range_array[4]);
899 
926  uint32 GetState();
927 
938  bool ClearSignedData();
939 
946 
960  PDFDoc GetSignedVersionDocument(const wchar_t* file_path);
961 
973 
990  void SetAppearanceFlags(uint32 appearance_flags);
991 
1011  void SetAppearanceContent(const String& appearance_content);
1012 
1020 
1031  void SetSignTime(const DateTime& sign_time);
1032 
1041  String GetFilter();
1062  void SetFilter(const char* filter);
1063 
1072  String GetSubFilter();
1093  void SetSubFilter(const char* sub_filter);
1094 
1107 
1123  void SetKeyValue(KeyName key, const wchar_t* value);
1124 
1142  void SetKeyLabel(LabelName label_name, const wchar_t* label_value);
1143 
1154  WString GetKeyLabel(LabelName label_name);
1155 
1163 
1176  void SetBitmap(const common::Bitmap& bitmap);
1177 
1194  void SetImage(const common::Image& image, int frame_index);
1195 
1212  void SetImage(const char* file_path, int frame_index);
1213 
1230  void SetImage(const wchar_t* file_path, int frame_index);
1231 
1240 
1258  void SetDefaultContentsLength(uint32 default_length);
1259 
1270  int32 GetCertCount() const;
1271 
1286  WString GetCert(int32 index) const;
1287 
1300  void SetCertChain(const WStringArray& cert_chain);
1301 
1309 
1315  bool IsTimeStamp();
1316 
1324 
1325 #ifndef __EMSCRIPTEN_RENDER__
1326  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1327  explicit Signature(FS_HANDLE handle = NULL);
1328 #endif
1329 };
1330 
1341  public:
1347  typedef enum _CertValidity {
1364  } CertValidity;
1365 
1366 
1372  virtual void Release() = 0;
1373 
1392  virtual bool StartCalcDigest(const common::file::ReaderCallback* file, const uint32* byte_range_array,
1393  uint32 size_of_array, const Signature& signature, const void* client_data) = 0;
1394 
1413  virtual common::Progressive::State ContinueCalcDigest(const void* client_data,
1414  const common::PauseCallback* pause) = 0;
1415 
1427  virtual String GetDigest(const void* client_data) = 0;
1428 
1450  virtual String Sign(const void* digest, uint32 digest_length, const wchar_t* cert_path,
1451  const WString& cert_password, Signature::DigestAlgorithm digest_algorithm,
1452  void* client_data) = 0;
1453 
1476  virtual String Sign(const void* digest, uint32 digest_length, foxit::common::file::StreamCallback* cert_file_stream,
1477  const WString& cert_password, Signature::DigestAlgorithm digest_algorithm,
1478  void* client_data) = 0;
1479 
1502  virtual uint32 VerifySigState(const void* digest, uint32 digest_length,
1503  const void* signed_data, uint32 signed_data_len,
1504  void* client_data) = 0;
1505 
1513  virtual bool IsNeedPadData() = 0;
1514 
1534  virtual CertValidity CheckCertificateValidity(const wchar_t* cert_path, const WString& cert_password, void* client_data) = 0;
1535 
1536  protected:
1537  ~SignatureCallback() {}
1538 };
1539 
1540 class TimeStampServer;
1541 
1550 class TimeStampServerMgr FS_FINAL : public Object {
1551  public:
1560  static ErrorCode Initialize();
1570  static void Release();
1571 
1577  static int GetServerCount();
1586  static TimeStampServer GetServer(int index);
1594  static int GetServerIndex(const TimeStampServer& server);
1595 
1610  static void SetDefaultServer(int index);
1620  static void SetDefaultServer(const TimeStampServer& server);
1621 
1632  static TimeStampServer AddServer(const WString& server_name, const WString& server_url, const WString& user_name, const WString& password);
1640  static void RemoveServer(int index);
1650  static void RemoveServer(const TimeStampServer& server);
1651 };
1652 
1656 class TimeStampServer FS_FINAL : public Base {
1657  public:
1663  typedef enum _SendRequestResult {
1681 
1682 
1688  TimeStampServer(const TimeStampServer& other);
1689 
1698 
1706  bool operator == (const TimeStampServer& other) const;
1714  bool operator != (const TimeStampServer& other) const;
1715 
1717  ~TimeStampServer();
1718 
1726  bool IsEmpty() const;
1727 
1737 
1746 
1747  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1748  explicit TimeStampServer(FS_HANDLE handle = NULL);
1749 };
1750 
1756  public:
1762  virtual void Release() = 0;
1763 
1773 
1779  virtual String GetTimeStampMessage() = 0;
1780 
1781  protected:
1782  virtual ~TimeStampCallback() {}
1783 };
1784 
1789 class PagingSealConfig FS_FINAL : public Object{
1790  public:
1796  typedef enum _PagingSealPosition {
1806 
1807 
1819 
1822 
1830  PagingSealConfig& operator = (const PagingSealConfig& paging_seal_config) {
1831  this->paging_seal_position = paging_seal_config.paging_seal_position;
1832  this->offset = paging_seal_config.offset;
1833  this->first_page_percent = paging_seal_config.first_page_percent;
1834  this->is_on_perforation = paging_seal_config.is_on_perforation;
1835  return *this;
1836  }
1837 
1845  bool operator == (const PagingSealConfig& paging_seal_config) const {
1846  if (this->paging_seal_position == paging_seal_config.paging_seal_position &&
1847  this->offset == paging_seal_config.offset &&
1848  this->first_page_percent == paging_seal_config.first_page_percent &&
1849  this->is_on_perforation == paging_seal_config.is_on_perforation){
1850  return true;
1851  }
1852  return false;
1853  }
1854 
1862  bool operator != (const PagingSealConfig& paging_seal_config) const {
1863  if (this->paging_seal_position != paging_seal_config.paging_seal_position ||
1864  this->offset != paging_seal_config.offset ||
1865  this->first_page_percent != paging_seal_config.first_page_percent ||
1866  this->is_on_perforation != paging_seal_config.is_on_perforation) {
1867  return true;
1868  }
1869  return false;
1870  }
1871 
1885 
1898  float offset;
1910 };
1911 
1920 class PagingSealSignature FS_FINAL : public pdf::Signature {
1921  public:
1927  typedef enum _PagingSealAPState {
1939 
1940 
1943 
1951  void SetPagingSealConfig(PagingSealConfig paging_seal_config);
1952 
1964  void SetAPStateBitmap(PagingSealAPState ap_state, const common::Bitmap& bitmap);
1965 
1974  bool GenerateAppearance();
1975 
1976  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1977  explicit PagingSealSignature(FS_HANDLE handle = NULL);
1978 };
1979 
1980 } // namespace pdf
1981 } // namespace foxit
1982 #endif // FS_SIGNATURE_H_
1983 
bool GenerateAppearance()
Generate the appearance of paging seal signature.
Send request successfully.
Definition: fs_signature.h:1665
If set, show signing time on signature appearance.
Definition: fs_signature.h:185
If set, show distinguish name on signature appearance.
Definition: fs_signature.h:187
common::Bitmap GetBitmap()
Get a bitmap which is used for the signature appearance.
PagingSealAPState
Enumeration for paging seal signature state to set appearance.
Definition: fs_signature.h:1927
Out of memory during sending request process.
Definition: fs_signature.h:1679
Signature label name for reason.
Definition: fs_signature.h:342
Signature digest algorithm: sha1 algorithm.
Definition: fs_signature.h:225
All form fields' flags will be set read-only.
Definition: fs_signature.h:304
Certificate is unsupport type.
Definition: fs_signature.h:1353
Signature key name: location.
Definition: fs_signature.h:207
The document has been changed outside of signature scope, and the changed invalidate the signature.
Definition: fs_signature.h:169
Certificate's private key cannot be gotten.
Definition: fs_signature.h:1363
Definition: fs_image.h:36
Signature key name: distinguish name.
Definition: fs_signature.h:213
LabelName
Enumeration for signature label name.
Definition: fs_signature.h:324
TimeStampServer(const TimeStampServer &other)
Constructor, with another time stamp server object.
Unsigned signature.
Definition: fs_signature.h:117
If set, show text content on signature appearance.
Definition: fs_signature.h:195
CFX_Object Object
Object type.
Definition: fs_basictypes.h:217
void SetPagingSealConfig(PagingSealConfig paging_seal_config)
Set the config of paging seal signature.
WStringArray GetFieldMDPActionFields()
Get the field name array which is used for FieldMDP action.
static int GetServerIndex(const TimeStampServer &server)
Get the index of a speicified time stamp server object.
If set, show location on signature appearance.
Definition: fs_signature.h:189
TimeStampServer & operator=(const TimeStampServer &other)
Assign operator.
void Set(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation)
Set value.
bool IsSigned()
Check whether current signature is signed or not.
Certificate for verifying issuer is revoked.
Definition: fs_signature.h:141
DocPermission GetDocPermission()
Get document permission for current signature.
FieldMDPAction
Enumeration for signature FieldMDP("MDP" means modification detection and prevention) action type.
Definition: fs_signature.h:298
void SetAppearanceContent(const String &appearance_content)
Set customized appearance content (as low level drawing operation commands) for signed signature appe...
Certificate is valid.
Definition: fs_signature.h:1349
SignatureType GetSignatureType()
Get signature type.
Definition: fs_basictypes.h:224
Definition: fs_basictypes.h:440
Verification state of the time stamp is invalid.
Definition: fs_signature.h:155
static int GetServerCount()
Get time stamp server count.
Signature label name for signer.
Definition: fs_signature.h:330
bool operator==(const PagingSealConfig &paging_seal_config) const
Equal operator.
Definition: fs_signature.h:1845
States
Enumeration for signature states.
Definition: fs_signature.h:111
int32 GetCertCount() const
Get the count of certificates in current signature's certificate chain.
KeyName
Enumeration for signature key name.
Definition: fs_signature.h:203
void SetKeyLabel(LabelName label_name, const wchar_t *label_value)
Set the string for specified key label.
Signature type: ordinary.
Definition: fs_signature.h:241
String GetFilter()
Get filter.
The document has not been changed within the scope of the signature.
Definition: fs_signature.h:135
No time stamp or not check time stamp.
Definition: fs_signature.h:149
Bottom Paging Seal.
Definition: fs_signature.h:1804
Certificate's path is wrong.
Definition: fs_signature.h:1359
Header file for file operation related definitions and functions.
void SetSubFilter(const char *sub_filter)
Set sub filter.
DocPermission
Enumeration for signature document permission.
Definition: fs_signature.h:273
File reading interface.
Definition: fx_stream.h:566
No restriction.
Definition: fs_signature.h:275
void SetSignTime(const DateTime &sign_time)
Set time of signing.
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.
virtual String GetTimeStampMessage()=0
A callback function used to get time stamp message.
WIDE STRING CLASS.
Definition: fx_string.h:1452
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.
bool operator==(const TimeStampServer &other) const
Equal operator.
Unsupported signature.
Definition: fs_signature.h:127
void SetDocPermission(DocPermission permission)
Set document permission for current signature.
SignatureType
Enumeration for signature type.
Definition: fs_signature.h:239
State
Enumeration for progress state.
Definition: fs_common.h:343
Definition: fs_signature.h:1550
No Field MDP action.
Definition: fs_signature.h:300
virtual TimeStampServer::SendRequestResult SendTimeStampRequest(const String &request)=0
A callback function used to send time stamp request.
Not check the issuer.
Definition: fs_signature.h:145
PAdES level: B-LT.
Definition: fs_signature.h:263
If set, show bitmap on signature appearance.
Definition: fs_signature.h:193
~PagingSealConfig()
Destructor.
Definition: fs_signature.h:1821
bool IsEmpty() const
Check whether current object is empty or not.
WString GetKeyValue(KeyName key)
Get the string value for specified key name.
Definition: fs_pdfdoc.h:508
Left Paging Seal.
Definition: fs_signature.h:1798
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.
FieldMDPAction GetFieldMDPAction()
Get FieldMDP("MDP" means modification detection and prevention) action type.
Unknown signature.
Definition: fs_signature.h:113
Signature key name: contact information.
Definition: fs_signature.h:211
Signature key name for distinguish name.
Definition: fs_signature.h:354
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...
static TimeStampServer GetServer(int index)
Get time stamp server with specified index.
Signature type: paging seal.
Definition: fs_signature.h:245
The document has been changed within the scope of the signature. (This indicates that signature is in...
Definition: fs_signature.h:131
PAdES level: B-T.
Definition: fs_signature.h:261
PDFDoc GetSignedVersionDocument(const wchar_t *file_path)
Get the PDF document in the signed version in which current signature was signed.
SendRequestResult SendTimeStampRequest(const String &request)
Send time stamp request.
Header file for image and bitmap related definitions and classes.
Signature key name: reason.
Definition: fs_signature.h:209
If set, show reason on signature appearance.
Definition: fs_signature.h:183
Signature data is destroyed (that means the signature data cannot be parsed properly).
Definition: fs_signature.h:125
Header file for PDF form related definitions and classes.
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.
Certificate is expired.
Definition: fs_signature.h:1351
virtual void Release()=0
A callback function used to release current callback object itself.
Signed signature.
Definition: fs_signature.h:1933
Unknown signature.
Definition: fs_signature.h:1929
Definition: fs_signature.h:1340
Certificate's password is wrong.
Definition: fs_signature.h:1357
Verification state of the time stamp is expired.
Definition: fs_signature.h:157
bool GetByteRangeArray(uint32 out_byte_range_array[4])
Get the byte ranges data, including 4 elements.
Certificate's data is error.
Definition: fs_signature.h:1355
Certificate for verifying issuer is expired.
Definition: fs_signature.h:143
Verification state of the issuer is unknown.
Definition: fs_signature.h:139
If set, show signer on signature appearance.
Definition: fs_signature.h:191
Verification state of the time stamp time is valid, since the times is before the expiration date.
Definition: fs_signature.h:163
PagingSealPosition paging_seal_position
The position of paging seal. Please refer to values starting from PagingSealSignature::e_PagingSealPo...
Definition: fs_signature.h:1890
Verification state of the time stamp issuer is valid.
Definition: fs_signature.h:161
common::Progressive StartVerify(const void *client_data=0, common::PauseCallback *pause=0)
Start verifying the intergrity of current signature if current signature is signed.
Not a PAdES signature.
Definition: fs_signature.h:255
Top Paging Seal.
Definition: fs_signature.h:1802
Flags of form fields (except specified form fields) will be set read-only.
Definition: fs_signature.h:316
Definition: fs_signature.h:1920
void SetFilter(const char *filter)
Set filter.
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:233
String GetTimeStampMessage()
Get time stamp message.
Permitted changes are the same as for 2, as well as annotation creation, deletion,...
Definition: fs_signature.h:290
bool operator !=(const TimeStampServer &other) const
Not equal operator.
CertValidity
Enumeration for certificate validity.
Definition: fs_signature.h:1347
Definition: fs_signature.h:1656
File stream interface, reading & writing.
Definition: fx_stream.h:669
void SetDefaultContentsLength(uint32 default_length)
Set the default length of signature contents which represents signature value (known as signed data).
Fail to receive data during sending request process.
Definition: fs_signature.h:1673
PAdES level: B-LTA.
Definition: fs_signature.h:265
PagingSealConfig & operator=(const PagingSealConfig &paging_seal_config)
Assign operator.
Definition: fs_signature.h:1830
Definition: fx_basic.h:3761
Fail to connect during sending request process.
Definition: fs_signature.h:1669
Signature(const interform::Field &field)
Constructor, with parent class object.
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 margin of each two pages. true means the paging seal ...
Definition: fs_signature.h:1909
bool operator !=(const PagingSealConfig &paging_seal_config) const
Not equal operator.
Definition: fs_signature.h:1862
DigestAlgorithm
Enumeration for signature digest algorithm.
Definition: fs_signature.h:223
virtual void Release()=0
A callback function used to release current callback object itself.
No changes to the PDF document (which is signed by the signture) are permitted. Any change to this ki...
Definition: fs_signature.h:280
WString GetKeyLabel(LabelName label_name)
Get the string for specified key label.
objects::PDFDictionary * GetSignatureDict() const
Get signature dictionary.
Definition: fs_common.h:336
void SetAPStateBitmap(PagingSealAPState ap_state, const common::Bitmap &bitmap)
Set a bitmap for the appearance of signature state.
Definition: fs_pdfform.h:145
Specified form fields' flags will be set read-only.
Definition: fs_signature.h:310
Verification state of the time stamp issuer is unknown.
Definition: fs_signature.h:159
The verified issue is current issuer.
Definition: fs_signature.h:147
void SetBitmap(const common::Bitmap &bitmap)
Set a bitmap for the signature appearance.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
Signature label name for sign time.
Definition: fs_signature.h:348
Signed signature.
Definition: fs_signature.h:119
static void Release()
Release time stamp server manager.
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
static TimeStampServer GetDefaultServer()
Get default time stamp server object.
Header file for common definitions and classes.
void SetCertChain(const WStringArray &cert_chain)
Set a certificate chain.
PagingSealPosition
Enumeration for paging seal position.
Definition: fs_signature.h:1796
APFlags
Enumeration for signature appearance flags.
Definition: fs_signature.h:177
void SetAppearanceFlags(uint32 appearance_flags)
Set signature appearance flags.
String GetCertificateInfo(const char *key)
Get certificate information.
Definition: fs_signature.h:1755
String GetSubFilter()
Get sub filter.
Verification state of a signature is invalid.
Definition: fs_signature.h:123
SendRequestResult
Enumeration for the result of sending time stamp request.
Definition: fs_signature.h:1663
PDFDoc GetDocument()
Get the PDF document, which current signature belongs to.
Verification state of a signature is invalid.
Definition: fs_signature.h:1937
void SetKeyValue(KeyName key, const wchar_t *value)
Set the string value for specified key name.
void SetImage(const common::Image &image, int frame_index)
Set an image for the signature appearance, with a specified frame index.
FX_INT32 int32
32-bit signed integer.
Definition: fs_basictypes.h:194
Definition: fs_basictypes.h:407
Verification state of a signature is valid.
Definition: fs_signature.h:121
Fail to create socket during sending request process.
Definition: fs_signature.h:1667
Fail to send data during sending request process.
Definition: fs_signature.h:1671
Fail to get data during sending request process.
Definition: fs_signature.h:1677
Signature key name: text content.
Definition: fs_signature.h:215
Permitted changes are filling in forms, instantiating page templates, and signing....
Definition: fs_signature.h:285
Verification state of the issuer is valid.
Definition: fs_signature.h:137
Signature type: time stamp.
Definition: fs_signature.h:243
Definition: fs_pdfobject.h:800
void SetFieldMDPActionFields(const FieldMDPAction &action, const WStringArray &field_array)
Set FieldMDP("MDP" means modification detection and prevention) action names array.
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:1903
Foxit namespace.
Definition: fs_taggedpdf.h:27
PAdESLevel GetPAdESLevel()
Get PAdES level.
float offset
The offset of paging seal signature. For top paging seal and bottom paging seal, the value will be th...
Definition: fs_signature.h:1898
bool IsTimeStamp()
Check if current signature is a time stamp signature.
Definition: fs_signature.h:1789
DateTime GetSignTime()
Get time of signing.
static void RemoveServer(int index)
Remove a time stamp server from the manager, by index.
If set, show Foxit flag on signature appearance.
Definition: fs_signature.h:179
Signature cannot be trusted (containing aggression).
Definition: fs_signature.h:133
BYTE STRING CLASS.
Definition: fx_string.h:317
Certificate is not set to sign a signature.
Definition: fs_signature.h:1361
bool IsEmpty() const
Check whether current object is empty or not.
PagingSealConfig(PagingSealPosition paging_seal_position, float offset, float first_page_percent, bool is_on_perforation)
Constructor, with parameter.
PAdESLevel
Enumeration for PAdES level.
Definition: fs_signature.h:253
WString GetCert(int32 index) const
Get a certificate from current signature's certificate chain by index.
Unsigned signature.
Definition: fs_signature.h:1931
Signature digest algorithm: sha512 algorithm.
Definition: fs_signature.h:231
Signature label name for location.
Definition: fs_signature.h:336
Signature key name: signer.
Definition: fs_signature.h:205
Verification state of a signature is valid.
Definition: fs_signature.h:1935
virtual String GetDigest(const void *client_data)=0
A callback function used to get the digest after the calculation process is finished.
static ErrorCode Initialize()
Initialize time stamp server manager.
#define NULL
The null-pointer value.
Definition: fx_system.h:780
Definition: fs_signature.h:93
Signature digest algorithm: sha384 algorithm.
Definition: fs_signature.h:229
static void SetDefaultServer(int index)
Set default time stamp server object by index.
Cannot get verify relevant information.
Definition: fs_signature.h:165
Signature does not have any data for signing.
Definition: fs_signature.h:115
~PagingSealSignature()
Destructor.
Definition: fs_signature.h:1942
Signature digest algorithm: sha256 algorithm.
Definition: fs_signature.h:227
Right Paging Seal.
Definition: fs_signature.h:1800
PAdES level: none.
Definition: fs_signature.h:257
Verification state of the time stamp is valid.
Definition: fs_signature.h:153
The document has been changed outside of signature scope, but the changed is permitted.
Definition: fs_signature.h:167
Fail to request during sending request process.
Definition: fs_signature.h:1675
~Signature()
Destructor.
Definition: fs_signature.h:375
uint32 GetState()
Get current state.
Definition: fs_image.h:445
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.
PAdES level: B-B.
Definition: fs_signature.h:259
bool ClearSignedData()
Clear the data and appearance if current signature is singed and verified valid.
If set, show label on signature appearance.
Definition: fs_signature.h:181
common::Progressive StartSign(const wchar_t *cert_path, const WString &cert_password, DigestAlgorithm digest_algorithm, const char *save_path, const void *client_data=0, common::PauseCallback *pause=0)
Start signing current signature if current signature is unsigned.
The signature is a time stamp signature.
Definition: fs_signature.h:151
Non expected byte range.
Definition: fs_signature.h:129
uint32 GetAppearanceFlags()
Get signature appearance flags.