|
Foxit PDF SDK
|
Public Member Functions | |
| def | ClearSignedData () |
| Clear the data and appearance if current signature is singed and verified valid. More... | |
| def | EnableEmbedFont (enable_embed_font) |
| Enable or disable embed font. More... | |
| def | EnableIncrementalSaveForFirstSigning (enable_incremental_save) |
| Enable or disable incremental save for first signing. User should call this function before calling function fsdk.Signature.StartSign . Default: false. More... | |
| def | GenerateAppearance () |
| Generate the appearance of unsigned signature. More... | |
| def | GetAppearanceFlags () |
| Get signature appearance flags. More... | |
| def | GetBitmap () |
| Get a bitmap which is used for the signature appearance. More... | |
| def | GetCert (index) |
| Get a certificate from current signature's certificate chain by index. More... | |
| def | GetCertCount () |
| Get the count of certificates in current signature's certificate chain. More... | |
| def | GetCertificateInfo (key) |
| Get certificate information. More... | |
| def | GetDocPermission () |
| Get document permission for current signature. More... | |
| def | GetDocument () |
| Get the PDF document, which current signature belongs to. More... | |
| def | GetFieldMDPAction () |
| Get FieldMDP("MDP" means modification detection and prevention) action type. More... | |
| def | GetFieldMDPActionFields () |
| Get the field name array which is used for FieldMDP action. More... | |
| def | GetFilter () |
| Get filter. More... | |
| def | GetKeyLabel (label_name) |
| Get the string for specified key label. More... | |
| def | GetKeyValue (key) |
| Get the string value for specified key name. More... | |
| def | GetPAdESLevel () |
| Get PAdES level. More... | |
| def | GetPagingSealGroupElements () |
| Get the group elements of current paging seal signature. More... | |
| def | GetPagingSealSignature () |
| Get the paging seal signature. More... | |
| def | GetSignatureDict () |
| Get signature dictionary. More... | |
| def | GetSignatureType () |
| Get signature type. More... | |
| def | GetSignedVersionDocument (file_path) |
| Get the PDF document in the signed version in which current signature was signed. More... | |
| def | GetSignTime () |
| Get time of signing. More... | |
| def | GetState () |
| Get current state. More... | |
| def | GetSubFilter () |
| Get sub filter. More... | |
| def | IsEmpty () |
| Check whether current object is empty or not. More... | |
| def | IsSigned () |
| Check whether current signature is signed or not. More... | |
| def | IsTimeStamp () |
| Check if current signature is a time stamp signature. More... | |
| def | SetAppearanceContent (appearance_content) |
| Set customized appearance content (as low level drawing operation commands) for signed signature appearance. More... | |
| def | SetAppearanceFlags (appearance_flags) |
| Set signature appearance flags. More... | |
| def | SetBitmap (bitmap) |
| Set a bitmap for the signature appearance. More... | |
| def | SetCertChain (cert_chain) |
| Set a certificate chain. More... | |
| def | SetCustomObject (key, pdf_object) |
| Set custom PDF object for signature dictionary. More... | |
| def | SetDefaultContentsLength (default_length) |
| Set the default length of signature contents which represents signature value (known as signed data). More... | |
| def | SetDocPermission (permission) |
| Set document permission for current signature. More... | |
| def | SetFilter (filter) |
| Set filter. More... | |
| def | SetImage (image, frame_index) |
| Set an image for the signature appearance, with a specified frame index. More... | |
| def | SetImage (file_path, frame_index) |
| Set an image for the signature appearance, with a specified frame index. More... | |
| def | SetKeyLabel (label_name, label_value) |
| Set the string for specified key label. More... | |
| def | SetKeyValue (key, value) |
| Set the string value for specified key name. More... | |
| def | SetSignTime (sign_time) |
| Set time of signing. More... | |
| def | SetSubFilter (sub_filter) |
| Set sub filter. More... | |
| def | StartSign (cert_path, cert_password, digest_algorithm, save_path, client_data, pause) |
| Start signing current signature if current signature is unsigned. More... | |
| def | StartSign (cert_file_stream, cert_password, digest_algorithm, save_path, client_data, pause) |
| Start signing current signature if current signature is unsigned. More... | |
| def | StartSign (cert_file_stream, cert_password, digest_algorithm, stream_callback, client_data, pause) |
| Start signing current signature if current signature is unsigned. More... | |
| def | StartSign (cert_path, cert_password, digest_algorithm, stream_callback, client_data, pause) |
| Start signing current signature if current signature is unsigned. More... | |
| def | StartVerify (client_data, pause) |
| Start verifying the intergrity of current signature if current signature is signed. More... | |
A digital signature (PDF 1.3) can be used to authenticate the identity of a user and the document's contents. It stores information about the signer and the state of the document when it was signed. The signature is contained in a signature field, as a type of form field, so class Signature is derived from class fsdk.Field . A signature object can be retrieved/added by following functions:
To be counted and retrieved as a signature object directly from PDF document, please use functions fsdk.PDFDoc.GetSignatureCount and fsdk.PDFDoc.GetSignature .
To be counted and retrieved as a signature field, please use functions fsdk.Form.GetFieldCount and fsdk.Form.GetField when field type is fsdk.FieldE_TypeSignature .
To add a new signature, please use function fsdk.PDFPage.AddSignature .
To remove a signature, please use function fsdk.PDFDoc.RemoveSignature .
In a signature, filter and sub filter keys are used to specify the filter and sub filter of signature callback object which will be used to sign and verify the signature. Foxit PDF SDK has default signature callbacks for following filter and sub filter:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
For sub filter "ETSI.CAdES.detached" and sub filter "ETSI.RFC3161", please ensure a default time stmap server has been set to TimeStampServerMgr if default signature callbacks for them will be used to do signing. For other filter and sub filter or if user wants to use customized signature callback for above filter and sub filter, user should prepare customized signature callback and register the callback to Foxit PDF SDK by function fsdk.LibraryRegisterSignatureCallback .
This class offers functions to get/set signature information/properties, sign or verify a signature, and so on. For example:
To sign an unsigned signature, please use functions fsdk.Signature.StartSign . When signing a signature successfully, user is strongly recommended to close current document and then open the signed PDF document and then do following operation.
To verify the integrity of a signed signature, please use functions fsdk.Signature.StartVerify . To check if a signed signature is valid or not, please refer to class LTVVerifier .
To retrieve signature dictionary directly, please use function fsdk.Signature.GetSignatureDict .
Before signing an unsigned signature, user can call following functions to set information for signing and signed appearance:
For using default Foxit appearance template, related information can be set by fsdk.Signature.SetAppearanceFlags , fsdk.Signature.SetSignTime , fsdk.Signature.SetKeyValue , fsdk.Signature.SetBitmap , fsdk.Signature.SetImage .
For using customized appearance, please set appearance stream content by function fsdk.Signature.SetAppearanceContent .
If an unsigned signature has been set some information for signing, but the document is saved directly or closed without signing the signature, these data (including filter and sub filter) will be lost in the saved document or in the closed document. When the document is opened again, the unsigned signature needs to be specified at least filter and sub filter for signing; otherwise, this signature cannot be signed.
| def fsdk.Signature.ClearSignedData | ( | ) |
Clear the data and appearance if current signature is singed and verified valid.
This function is used for a signed and valid signature.
Attention: From 7.0, this function is only used to verify the intergrity of a signature. To check if a signature is valid or not, please refer to class LTVVerifier .
| def fsdk.Signature.EnableEmbedFont | ( | enable_embed_font | ) |
Enable or disable embed font.
| A | flag indicates that whether to embed font for siganture's text. true means that embed font for siganture's text. false means that not to embed font for siganture's text. |
| def fsdk.Signature.EnableIncrementalSaveForFirstSigning | ( | enable_incremental_save | ) |
Enable or disable incremental save for first signing. User should call this function before calling function fsdk.Signature.StartSign .
Default: false.
| [in] | enable_incremental_save | A flag indicates that whether to use incremental save for first signing. true means that use incremental save for first signing. false means that use default save for first signing. |
| def fsdk.Signature.GenerateAppearance | ( | ) |
Generate the appearance of unsigned signature.
This function is used to display the unsigned ordinary signature on page without calling the function fsdk.Signature.StartSign .
| def fsdk.Signature.GetAppearanceFlags | ( | ) |
Get signature appearance flags.
Signature appearance flags indicate which information will be shown. Currently, this is only useful after fsdk.Signature.SetAppearanceFlags is set successfully. For a signature gotten from PDF document, the return value of this function would be useless.
| def fsdk.Signature.GetBitmap | ( | ) |
Get a bitmap which is used for the signature appearance.
| def fsdk.Signature.GetCert | ( | index | ) |
Get a certificate from current signature's certificate chain by index.
This function is recommended to be used before verifying a signature. When sub filter of current signature is "adbe.x509.rsa_sha1", application needs to call this function to get verified public certificate before verifying signature. The first certificate in certificate chain is the signing certificate, and it can be used to verify the signature.
| [in] | index | The index of certificate to be gotten. Valid range: from 0 to (count-1). count is returned by function fsdk.Signature.GetCertCount . |
| def fsdk.Signature.GetCertCount | ( | ) |
Get the count of certificates in current signature's certificate chain.
This function is recommended to be used before verifying a signature. When sub filter of current signature is "adbe.x509.rsa_sha1", application needs to call this function to get the count of certificates in certificate chain and then call function fsdk.Signature.GetCert to get verified public certificate before verifying signature.
| def fsdk.Signature.GetCertificateInfo | ( | key | ) |
Get certificate information.
This function is used for a signed signature. Currently, this function only supports for iOS and android platform.
| [in] | key | Certificate key string. Currently it can be one of the following keys:
|
| def fsdk.Signature.GetDocPermission | ( | ) |
Get document permission for current signature.
If permission value is not fsdk.SignatureE_DocPermUnrestricted , that means adding new signature will fail when current signature is signed
If permission value is fsdk.SignatureE_DocPermFillingFormAndSigning or fsdk.SignatureE_DocPermFillingFormSigningAndAnnotating , that means current signature field's flag is read-only when current signature is signed.
| def fsdk.Signature.GetDocument | ( | ) |
Get the PDF document, which current signature belongs to.
| def fsdk.Signature.GetFieldMDPAction | ( | ) |
Get FieldMDP("MDP" means modification detection and prevention) action type.
| def fsdk.Signature.GetFieldMDPActionFields | ( | ) |
Get the field name array which is used for FieldMDP action.
Returned field name array is associated to the FieldMDP action (which can be checked by function fsdk.Signature.GetFieldMDPAction ):
If FieldMDP action type is fsdk.SignatureE_FieldMDPActionNone , returned field name array is uselss.
If FieldMDP action type is fsdk.SignatureE_FieldMDPActionAll , returned field name array will contain name of all form fields.
If FieldMDP action type is fsdk.SignatureE_FieldMDPActionInclude , returned field name array specifies form fields whose flags are read-only when current signature is signed.
If FieldMDP action type is fsdk.SignatureE_FieldMDPActionExclude , returned field name array specifies form fields whose flags are not read-only (but rest fields' flags are read-only) when current signature is a signed signature.
| def fsdk.Signature.GetFilter | ( | ) |
Get filter.
Filter and sub filter are used to specify which registered signature callback object will be used to sign/verify current signature.
| def fsdk.Signature.GetKeyLabel | ( | label_name | ) |
Get the string for specified key label.
If current signature is a time stamp signature, this function will always return an empty string.
| [in] | label_name | Key label. Please refer to values starting from fsdk.SignatureE_LabelNameSigner and this should be one of these values. |
| def fsdk.Signature.GetKeyValue | ( | key | ) |
Get the string value for specified key name.
This function is used to get string value of some key in signature dictionary, such as "Reason", "Location" and so on. Specially,
| [in] | key | Key name. Please refer to values starting from fsdk.SignatureE_KeyNameSigner and this should be one of these values. |
| def fsdk.Signature.GetPAdESLevel | ( | ) |
Get PAdES level.
| def fsdk.Signature.GetPagingSealGroupElements | ( | ) |
Get the group elements of current paging seal signature.
If current signature type is fsdk.SignatureE_SignatureTypePagingSeal , this function will return the array of signature associated with current signature. Otherwise, an empty array will be returned.
| def fsdk.Signature.GetPagingSealSignature | ( | ) |
Get the paging seal signature.
If current signature type is fsdk.SignatureE_SignatureTypePagingSeal , this function will return the paging seal signature object associated with current signature.
| def fsdk.Signature.GetSignatureDict | ( | ) |
Get signature dictionary.
Signature dictionary is a part of signature field dictionary.
| def fsdk.Signature.GetSignatureType | ( | ) |
Get signature type.
| def fsdk.Signature.GetSignedVersionDocument | ( | file_path | ) |
Get the PDF document in the signed version in which current signature was signed.
This function is useful when a PDF document has benn signed by serveral signatures and user wants to get the PDF document in which one signature is signed.
| [in] | file_path | The full path of the original opened PDF document which current signature belongs to. It should not be an empty string. |
| def fsdk.Signature.GetSignTime | ( | ) |
Get time of signing.
| def fsdk.Signature.GetState | ( | ) |
Get current state.
Before verifying a signature, this function is to get the state about if current signature is signed or if current signature is lack of data for signing.
After verifying a signature, this function is to get the verified state – which indicates that the verified signature is signed; if the verified signature is still unsigned, this function will get the unsigned state instead.
For using default Foxit appearance template, related information can be set by fsdk.Signature.SetAppearanceFlags , fsdk.Signature.SetSignTime , fsdk.Signature.SetKeyValue , fsdk.Signature.SetBitmap , fsdk.Signature.SetImage .
For using customized appearance, please set appearance stream content by function fsdk.Signature.SetAppearanceContent .
| def fsdk.Signature.GetSubFilter | ( | ) |
Get sub filter.
Filter and sub filter are used to specify which registered signature callback object will be used to sign/verify current signature.
| def fsdk.Signature.IsEmpty | ( | ) |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
| def fsdk.Signature.IsSigned | ( | ) |
Check whether current signature is signed or not.
| def fsdk.Signature.IsTimeStamp | ( | ) |
Check if current signature is a time stamp signature.
| def fsdk.Signature.SetAppearanceContent | ( | appearance_content | ) |
Set customized appearance content (as low level drawing operation commands) for signed signature appearance.
This function can only be used for an unsigned signature before calling function fsdk.Signature.StartSign for the unsigned signature.
Once customized appearance content is set, it will be used as the signed appearance. In this case, appearance flags set by fsdk.Signature.SetAppearanceFlags will be ignored and related informations will not be used in appearance – these information are set by: fsdk.Signature.SetSignTime , fsdk.Signature.SetKeyValue (except filter and sub-filter), fsdk.Signature.SetBitmap , fsdk.Signature.SetImage .
If current signature is a time stamp signature, this function will do nothing.
| [in] | appearance_content | Customized appearance content. This should be sequence of drawing operation commands to be used for the appearance, for example "10 10 m 20 10 l S". Please refer to <PDF Reference 1.7> P196 for more details. |
| def fsdk.Signature.SetAppearanceFlags | ( | appearance_flags | ) |
Set signature appearance flags.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature.
Signature appearance flags indicate which information will be shown in the signed appearance. If customized appearance content has been set by function fsdk.Signature.SetAppearanceContent , appearance flags will be ignored.
If current signature is a time stamp signature, this function will do nothing.
| [in] | appearance_flags | Signature appearance flags. Please refer to values starting from fsdk.SignatureE_APFlagFoxitFlag and this should be one or a combination of these values. |
| def fsdk.Signature.SetBitmap | ( | bitmap | ) |
Set a bitmap for the signature appearance.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature. If customized appearance content has been set by function fsdk.Signature.SetAppearanceContent , the bitmap will not be used in signed appearance.
If current signature is a time stamp signature, this function will do nothing.
| [in] | bitmap | A bitmap to be set to the appearance. It should be valid. |
| def fsdk.Signature.SetCertChain | ( | cert_chain | ) |
Set a certificate chain.
This function is recommended to be used before signing an unsigned signature. When the signature sub filter is "adbe.x509.rsa_sha1", users need to call this function to set the cert chain to the signature. For other sub filter, this function will return directly without doing anything.
| [in] | cert_chain | A string array that represents the certificate chain. |
| def fsdk.Signature.SetCustomObject | ( | key, | |
| pdf_object | |||
| ) |
Set custom PDF object for signature dictionary.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature.
| [in] | key | The key of signature dictionary, whose value element will be set. It should not be an empty string. |
| [in] | pdf_object | A custom PDFObject object to be set as the key's value. It should not be null. It can be a direct PDF object or an indirect PDF object. |
| def fsdk.Signature.SetDefaultContentsLength | ( | default_length | ) |
Set the default length of signature contents which represents signature value (known as signed data).
This function can only be used before function fsdk.Signature.StartSign for an unsigned signature.
Signature contents represent the signature value (known as signed data). When initializing the signature field, the signature contents will be initialized with the default length 7942. When using custom signature callback to sign and verify an unsigned signature, user can call this function to change the default length of signature contents. In this case, user should also ensure that the length of returned signed data in callback function fsdk.SignatureCallback.Sign should not be larger than the default length set by this function.
| [in] | default_length | The default length of the signature value (known as signed data), in bytes. It should not be less than 4098. |
| def fsdk.Signature.SetDocPermission | ( | permission | ) |
Set document permission for current signature.
This function is only useful for an unsigned signature. If this function is used for a signed signature, nothing will be done.
Some notes about the permission value:
If any permission value except fsdk.SignatureE_DocPermUnrestricted is set to current unsigned signature, then adding new signature will fail when current signature is a signed signature.
If permission value fsdk.SignatureE_DocPermFillingFormAndSigning or fsdk.SignatureE_DocPermFillingFormSigningAndAnnotating is set to current unsigned signature, then FieldMDP action would be fsdk.SignatureE_FieldMDPActionInclude and current signature field's flag would be read-only when current signature is a signed signature.
| [in] | permission | The document permission. Please refer to values starting from fsdk.SignatureE_DocPermUnrestricted and this should be one of these values. |
| def fsdk.Signature.SetFilter | ( | filter | ) |
Set filter.
Filter and sub filter are used to specify which registered signature callback object will be used to sign/verify current signature. User could should set filter and sub filter to use default signature callback in Foxit PDF SDK, or use other filter and sub fitler but please ensure that a signature callback object with non-default filter and sub filter should has been registered in Foxit PDF SDK before signing or verifying current signature. Filter and sub filter for default signature callback are:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
| [in] | filter | String for filter. It cannot be an empty string. |
| def fsdk.Signature.SetImage | ( | image, | |
| frame_index | |||
| ) |
Set an image for the signature appearance, with a specified frame index.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature. If customized appearance content has been set by function fsdk.Signature.SetAppearanceContent , the image will not be used in signed appearance.
Input image may contain multiple frames, and only one frame of the image can be set to current signature.
If current signature is a time stamp signature, this function will do nothing.
| [in] | image | An image. One of its frames will be set to current signature. This image contains at least one frame and the image type should not be fsdk.ImageE_Unknown . |
| [in] | frame_index | Frame index. Valid range: from 0 to (count-1). count is returned by function fsdk.Image.GetFrameCount . |
| def fsdk.Signature.SetImage | ( | file_path, | |
| frame_index | |||
| ) |
Set an image for the signature appearance, with a specified frame index.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature. If customized appearance content has been set by function fsdk.Signature.SetAppearanceContent , the image will not be used in signed appearance.
Input image may contain multiple frames, and only one frame of the image can be set to current signature.
If current signature is a time stamp signature, this function will do nothing.
| [in] | file_path | A full path of an existing image file. It should not be an empty string. |
| [in] | frame_index | Frame index. Valid range: from 0 to (count-1). count is returned by function fsdk.Image.GetFrameCount of input image file. |
| def fsdk.Signature.SetKeyLabel | ( | label_name, | |
| label_value | |||
| ) |
Set the string for specified key label.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature.
This function is used to set string value for custom label of some key in signature dictionary. If no custom label is set, default labels will be used by Foxit PDF SDK. Please refer to comment of values starting from fsdk.SignatureE_LabelNameSigner for more details.
If current signature is a time stamp signature, this function will do nothing.
| [in] | label_name | Key label. Please refer to values starting from fsdk.SignatureE_LabelNameSigner and this should be one of these values. |
| [in] | label_value | New string value for key label. If this is an empty string, Foxit PDF SDK will use default label. Please refer to comment of values starting from fsdk.SignatureE_LabelNameSigner for more details. |
| def fsdk.Signature.SetKeyValue | ( | key, | |
| value | |||
| ) |
Set the string value for specified key name.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature.
This function is used to set string value of some key in signature dictionary, such as signer, reason, location and so on.
If current signature is a time stamp signature, this function will do nothing.
| [in] | key | Key name. Please refer to values starting from fsdk.SignatureE_KeyNameSigner and this should be one of these values. |
| [in] | value | New string value. |
| def fsdk.Signature.SetSignTime | ( | sign_time | ) |
Set time of signing.
This function is recommended to be used before calling function fsdk.Signature.StartSign for an unsigned signature.
| [in] | sign_time | The signing time. |
| def fsdk.Signature.SetSubFilter | ( | sub_filter | ) |
Set sub filter.
Filter and sub filter are used to specify which registered signature callback object will be used to sign/verify current signature. User could should set filter and sub filter to use default signature callback in Foxit PDF SDK, or use other filter and sub fitler but please ensure that a signature callback object with non-default filter and sub filter should has been registered in Foxit PDF SDK before signing or verifying current signature. Filter and sub filter for default signature callback are:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
| [in] | sub_filter | String for sub filter. |
| def fsdk.Signature.StartSign | ( | cert_path, | |
| cert_password, | |||
| digest_algorithm, | |||
| save_path, | |||
| client_data, | |||
| pause | |||
| ) |
Start signing current signature if current signature is unsigned.
This function is used for an unsigned signature. Filter and sub filter keys of current signature specify the name of signature callback object which will be used to sign current signature. So before signing, please ensure current signature has valid filter and sub filter string values. If the filter and sub filter are one of following strings that means to use the default signature callback in Foxit PDF SDK:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
For other filter and sub filter or if user wants to use customized signature callback for above filter and sub filter, please ensure a customized signature callback has been registered to Foxit PDF SDK by function fsdk.LibraryRegisterSignatureCallback .
For PDF documents that are compliant with PDF/A specification, fsdk.LibrarySetDefaultICCProfilesPath is recommended to be called and enable embeding font by calling fsdk.Signature.EnableEmbedFont before calling current function. It may take a long time to sign a signature, so Foxit PDF SDK uses a progressive process to do this.
| [in] | cert_path | A full path of a certificate file (including file name and extension), which will be used for signing. This can be an empty string if not necessary in custom signature callback. When this file path is not empty, it should be a valid path. If default signature callback is to be used for signing current signature, this can be a PFX certificate file. |
| [in] | cert_password | A password string used to open the cert file. If this is an empty string, that means no password is required. |
| [in] | digest_algorithm | The algorithm of message digest for signed data. Please refer to values starting from fsdk.SignatureE_DigestSHA1 and this should be one of these values. |
| [in] | save_path | A full PDF file path for saving the signing result. The signed document would be saved to another PDF file. |
| [in] | client_data | A user-defined object, which will be passed to call back functions in SignatureCallback . This is useless if the default callback object will be used to sign current signature. Default value: null. |
| [in] | pause | Pause object which decides if the signing process needs to be paused. This can be null which means not to pause during the signing process. If this is not null, it should be a valid pause object implemented by user. Default value: null. |
Use current function to save the signed result to an temporary file. Here, this temporary file is named as "temp.tmp".
Ensure that the related PDF document object has destructed – which is equal to "close document".
Remove "org.pdf" and rename "temp.tmp" to "org.pdf".
| def fsdk.Signature.StartSign | ( | cert_file_stream, | |
| cert_password, | |||
| digest_algorithm, | |||
| save_path, | |||
| client_data, | |||
| pause | |||
| ) |
Start signing current signature if current signature is unsigned.
This function is used for an unsigned signature. Filter and sub filter keys of current signature specify the name of signature callback object which will be used to sign current signature. So before signing, please ensure current signature has valid filter and sub filter string values. If the filter and sub filter are one of following strings that means to use the default signature callback in Foxit PDF SDK:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
For other filter and sub filter or if user wants to use customized signature callback for above filter and sub filter, please ensure a customized signature callback has been registered to Foxit PDF SDK by function fsdk.LibraryRegisterSignatureCallback .
For PDF documents that are compliant with PDF/A specification, fsdk.LibrarySetDefaultICCProfilesPath is recommended to be called and enable embeding font by calling fsdk.Signature.EnableEmbedFont before calling current function. It may take a long time to sign a signature, so Foxit PDF SDK uses a progressive process to do this.
| [in] | cert_file_stream | A fsdk.StreamCallback object which is implemented by user to access content of a certificate file which will be used for signing. This can be null if not necessary in custom signature callback. If default signature callback is to be used for signing current signature, a PFX certificate file can be used. |
| [in] | cert_password | A password string used to open the cert file. If this is an empty string, that means no password is required. |
| [in] | digest_algorithm | The algorithm of message digest for signed data. Please refer to values starting from fsdk.SignatureE_DigestSHA1 and this should be one of these values. |
| [in] | save_path | A full PDF file path for saving the signing result. The signed document would be saved to another PDF file. |
| [in] | client_data | A user-defined object, which will be passed to call back functions in SignatureCallback . This is useless if the default callback object will be used to sign current signature. Default value: null. |
| [in] | pause | Pause object which decides if the signing process needs to be paused. This can be null which means not to pause during the signing process. If this is not null, it should be a valid pause object implemented by user. Default value: null. |
Use current function to save the signed result to an temporary file. Here, this temporary file is named as "temp.tmp".
Ensure that the related PDF document object has destructed – which is equal to "close document".
Remove "org.pdf" and rename "temp.tmp" to "org.pdf".
| def fsdk.Signature.StartSign | ( | cert_file_stream, | |
| cert_password, | |||
| digest_algorithm, | |||
| stream_callback, | |||
| client_data, | |||
| pause | |||
| ) |
Start signing current signature if current signature is unsigned.
This function is used for an unsigned signature. Filter and sub filter keys of current signature specify the name of signature callback object which will be used to sign current signature. So before signing, please ensure current signature has valid filter and sub filter string values. If the filter and sub filter are one of following strings that means to use the default signature callback in Foxit PDF SDK:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
For sub filter "ETSI.CAdES.detached" and sub filter "ETSI.RFC3161", please ensure a default time stmap server has been set to TimeStampServerMgr if default signature callbacks for them will be used to do signing. For other filter and sub filter or if user wants to use customized signature callback for above filter and sub filter, please ensure a customized signature callback has been registered to Foxit PDF SDK by function fsdk.LibraryRegisterSignatureCallback .
For PDF documents that are compliant with PDF/A specification, fsdk.LibrarySetDefaultICCProfilesPath is recommended to be called and enable embeding font by calling fsdk.Signature.EnableEmbedFont before calling current function. It may take a long time to sign a signature, so Foxit PDF SDK uses a progressive process to do this.
| [in] | cert_file_stream | A fsdk.StreamCallback object which is implemented by user to access content of a certificate file which will be used for signing. This can be null if not necessary in custom signature callback. If default signature callback is to be used for signing current signature, a PFX certificate file can be used. |
| [in] | cert_password | A password string used to open the cert file. If this is an empty string, that means no password is required. |
| [in] | digest_algorithm | The algorithm of message digest for signed data. Please refer to values starting from fsdk.SignatureE_DigestSHA1 and this should be one of these values. |
| [in] | stream_callback | A fsdk.StreamCallback object which is implemented by user to save the signing result. The signed document would be saved to another PDF file. |
| [in] | client_data | A user-defined object, which will be passed to call back functions in SignatureCallback . This is useless if the default callback object will be used to sign current signature. Default value: null. |
| [in] | pause | Pause object which decides if the signing process needs to be paused. This can be null which means not to pause during the signing process. If this is not null, it should be a valid pause object implemented by user. Default value: null. |
Use current function to save the signed result to an temporary file. Here, this temporary file is named as "temp.tmp".
Ensure that the related PDF document object has destructed – which is equal to "close document".
Remove "org.pdf" and rename "temp.tmp" to "org.pdf".
| def fsdk.Signature.StartSign | ( | cert_path, | |
| cert_password, | |||
| digest_algorithm, | |||
| stream_callback, | |||
| client_data, | |||
| pause | |||
| ) |
Start signing current signature if current signature is unsigned.
This function is used for an unsigned signature. Filter and sub filter keys of current signature specify the name of signature callback object which will be used to sign current signature. So before signing, please ensure current signature has valid filter and sub filter string values. If the filter and sub filter are one of following strings that means to use the default signature callback in Foxit PDF SDK:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
For sub filter "ETSI.CAdES.detached" and sub filter "ETSI.RFC3161", please ensure a default time stmap server has been set to TimeStampServerMgr if default signature callbacks for them will be used to do signing. For other filter and sub filter or if user wants to use customized signature callback for above filter and sub filter, please ensure a customized signature callback has been registered to Foxit PDF SDK by function fsdk.LibraryRegisterSignatureCallback .
For PDF documents that are compliant with PDF/A specification, fsdk.LibrarySetDefaultICCProfilesPath is recommended to be called and enable embeding font by calling fsdk.Signature.EnableEmbedFont before calling current function. It may take a long time to sign a signature, so Foxit PDF SDK uses a progressive process to do this.
| [in] | cert_path | A full path of a certificate file (including file name and extension), which will be used for signing. This can be an empty string if not necessary in custom signature callback. When this file path is not empty, it should be a valid path. If default signature callback is to be used for signing current signature, this can be a PFX certificate file. |
| [in] | cert_password | A password string used to open the cert file. If this is an empty string, that means no password is required. |
| [in] | digest_algorithm | The algorithm of message digest for signed data. Please refer to values starting from fsdk.SignatureE_DigestSHA1 and this should be one of these values. |
| [in] | stream_callback | A fsdk.StreamCallback object which is implemented by user to save the signing result. The signed document would be saved to another PDF file. |
| [in] | client_data | A user-defined object, which will be passed to call back functions in SignatureCallback . This is useless if the default callback object will be used to sign current signature. Default value: null. |
| [in] | pause | Pause object which decides if the signing process needs to be paused. This can be null which means not to pause during the signing process. If this is not null, it should be a valid pause object implemented by user. Default value: null. |
Use current function to save the signed result to an temporary file. Here, this temporary file is named as "temp.tmp".
Ensure that the related PDF document object has destructed – which is equal to "close document".
Remove "org.pdf" and rename "temp.tmp" to "org.pdf".
| def fsdk.Signature.StartVerify | ( | client_data, | |
| pause | |||
| ) |
Start verifying the intergrity of current signature if current signature is signed.
This function is used for a signed signature. Filter and sub filter keys of current signature specify the name of signature callback object which will be used to verify current signature. So before verifying, please ensure: the necessary signature callback object has been registered by function fsdk.LibraryRegisterSignatureCallback . If the filter and sub filter of current signed signature are one of following strings that means to use the default signature callback in Foxit PDF SDK and user does not need to register one for them:
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.detached"
filter: "Adobe.PPKLite" and sub filter: "adbe.pkcs7.sha1"
filter: "Adobe.PPKLite" and sub filter: "ETSI.CAdES.detached"
filter: "Adobe.PPKLite" and sub filter: "ETSI.RFC3161"
It may take a long time to verify a signature, so Foxit PDF SDK uses a progressive process to do this.
From 7.0, this function is only used to verify the intergrity of a signature. To check if a signature is valid or not, please refer to class LTVVerifier .
| [in] | client_data | A user-defined object, which will be passed to call back functions in SignatureCallback . This is useless if the default callback object will be used to verify current signature. Default value: null. |
| [in] | pause | Pause object which decides if the verifying process needs to be paused. This can be null which means not to pause during the verifying process. If this is not null, it should be a valid pause object implemented by user. Default value: null. |