SignDoc Class Documentation
classSignDocNamespace:datalogics_interface
Detailed Description
Use the SignDoc object to digitally sign a document
Constructor & Destructor Documentation
SignDoc
SignDoc()Creates an empty SignDoc object and initializes memory for its parameters.
SignDoc
SignDoc(SignDoc &&)Parameters
~SignDoc
~SignDoc()Member Function Documentation
add_digital_signature
voidadd_digital_signature(Document &document)Parameters
document: Document &The Document to be digitally signed.
Returns:
voidIf the document has not been previously signed, signs and saves the entire document. If the document has been previously signed, signs and saves only the portions of the document that have changed. If the document has been previously signed and the path to which the file is saved is NULL or the same as the path specified by the parameter, doc, signs and copies the document, saving only the portions of the document that have changed.
add_sig_policy
intadd_sig_policy(const std::string &oid)Parameters
oid: const std::string &- Object Identifier (OID) of the signature policy to add.
Returns:
- The number of signature policies added to the signature.Add a signature policy to the PAdES signature being generated. Signature policies may be applied to PAdES signatures, only. The signature type must be set to PADES prior to adding a policy.
add_sig_policy_qualifier_uri
voidadd_sig_policy_qualifier_uri(const std::string &uri)Parameters
uri: const std::string &- URI pointing to the signature policy document.
Returns:
voidQualify an existing signature policy with a Signature Policy URI (SPuri) qualifier. A policy must be added via AddSigPolicy prior to calling this method. A signature policy may be qualified by no more than one policy qualifier.
add_sig_policy_qualifier_user_notice
voidadd_sig_policy_qualifier_user_notice(const std::string &display_text, const std::string &org, const std::vector< std::int64_t > ¬ice_nos)Parameters
display_text: const std::string &- Text to display to the user when the signature is verified.
org: const std::string &- Organization that prepared the notice.
notice_nos: const std::vector< std::int64_t > &- Group of integers that identify textual statements prepared by the organization.
Returns:
voidQualify an existing signature policy with a Signature Policy UserNotice (SPUserNotice) qualifier. A policy must be added via AddSigPolicy prior to calling this method. A signature policy may be qualified by no more than one policy qualifier. The displayText and org attributes can be defined independent of each other. However, a valid org attribute must be defined in order to qualify a PAdES signature policy with the noticeNos attribute.
get_credential_data_format
CredentialDataFormatget_credential_data_format()Returns:
- Format of user-credentials used to sign the document.Get the value of the credential data format option.
get_digest_category
DigestCategoryget_digest_category()Returns:
- Member of the enumeration DigestCategory, which option to set.Get the value of the digest category.
get_field_id
SignatureFieldIDget_field_id()Returns:
- SignatureFieldID choice currently setGet the field identifier used to determine the form field that will contain the digital signature.
get_field_name
std::stringget_field_name()Returns:
- Fully qualified field name. May return NULL based on the SignatureFieldID attribute defined by the user.Get the form field fully qualified name of the form field that contains the digital signature.
get_output_path
std::stringget_output_path()Returns:
std::stringGet Output Path The path to which the file is saved. A path must be specified in case a full save (PDSaveFull) is needed. In case of an incremental save (PDSaveIncremental), newPath should be set to NULL. If a full save (PDSaveFull) is performed and newPath is the same as the file's original path, the new file is saved to a file system determined temporary path. The old file is then deleted and the new file is renamed to newPath.
get_signature_box_page_number
unsigned intget_signature_box_page_number()Returns:
- The page number on which signature field's widget annotation is created. A value of zero is returned if page number was not set.Get the page number on which the widget annotation of the signature field is created.
get_signature_box_rectangle
Rectget_signature_box_rectangle()Returns:
- Dimension of the annotation rectangle of the signature field being created. A value of {0,0,0,0} is returned if annotation rectangle dimension was not set.Get the dimension of the annotation rectangle of the signature field being created.
get_signature_type
SignatureTypeget_signature_type()Returns:
- Member of the enumeration CSignatureType set in a document.Get the type of signature added to a document.
operator=
SignDoc &operator=(SignDoc &&)Parameters
Returns:
SignDoc &set_credential_data_format
voidset_credential_data_format(CredentialDataFormatformat)Parameters
format: CredentialDataFormat- Encoding format of credentials used to sign a document.
Returns:
voidSet the value of the credential data format option.
set_digest_category
voidset_digest_category(DigestCategorycategory)Parameters
category: DigestCategory- Cryptographic hash function to use for generating message digests.
Returns:
voidSet the value of the digest category.
set_field_id
voidset_field_id(SignatureFieldIDid)Parameters
id: SignatureFieldID- Identifier to determine the form field that will contain the digital signature.
Returns:
voidSet the field identifier used to determine the form field that will contain the digital signature.
set_field_name
voidset_field_name(const std::string &name)Parameters
name: const std::string &- Fully qualified name of the form field that will contain the digital signature.
Returns:
voidSet the form field fully qualified name option.
set_field_object
voidset_field_object(inta_value, intb_value)Parameters
a_value: int- a value of the CosObject.
b_value: int- b value of the CosObject.
Returns:
voidSet the form field CosObject option.
set_non_pfx_passphrase
voidset_non_pfx_passphrase(const std::string &passphrase, unsigned intpassphrase_size, CredentialStorageFormatstorage_format)Parameters
passphrase: const std::string &- Passphrase used to encrypt Non-PFX private key. Should be set to NULL if unencrypted.
passphrase_size: unsigned int- Passphrase size in bytes. Shall be set to 0 if private key is unencrypted or passphrase is stored on disk.
storage_format: CredentialStorageFormat- Storage format for passphrase.
Returns:
voidSet the passphrase used to decrypt Non-PFX credentials.
Note: The passphrase provided must use the exact same character encoding used to encrypt the private key. The application makes no effort whatsoever to re-encode the same.
set_non_pfx_private_key
voidset_non_pfx_private_key(const std::string &private_key, unsigned intkey_size, CredentialStorageFormatstorage_format)Parameters
private_key: const std::string &- Private key.
key_size: unsigned int- Size of private key in bytes. Shall be set to 0 if key is stored on disk.
storage_format: CredentialStorageFormat- Storage format for private key.
Returns:
voidSet the private key for Non-PFX credentials..
set_non_pfx_signer_cert
voidset_non_pfx_signer_cert(const std::string &signer_cert, unsigned intcert_size, CredentialStorageFormatstorage_format)Parameters
signer_cert: const std::string &- Signer certificate
cert_size: unsigned int- Size of signer certificate in bytes. Shall be set to 0 if certificate is stored on disk.
storage_format: CredentialStorageFormat- Storage format for the signer certificate.
Returns:
voidSet the signer certificate for Non-PFX credentials.
set_output_path
voidset_output_path(const std::string &path)Parameters
path: const std::string &output Path The path to which the file is saved. A path must be specified in case a full save (PDSaveFull) is needed....
Returns:
voidSet Output Path The path to which the file is saved. A path must be specified in case a full save (PDSaveFull) is needed. In case of an incremental save (PDSaveIncremental), newPath should be set to NULL. If a full save (PDSaveFull) is performed and newPath is the same as the file's original path, the new file is saved to a file system determined temporary path. The old file is then deleted and the new file is renamed to newPath.
set_pfx_credentials
voidset_pfx_credentials(const std::string &credentials, CredentialStorageFormatstorage_format)Parameters
credentials: const std::string &- Credentials in PFX/PKCS#12 file format.
storage_format: CredentialStorageFormat- Storage format for the signer certificate. (Only OnDisk is allowed for this option)
Returns:
voidSet PFX/PKCS#12 credentials.
set_pfx_passphrase
voidset_pfx_passphrase(const std::string &passphrase, unsigned intsize, CredentialStorageFormatstorage_format)Parameters
passphrase: const std::string &- Passphrase used to encrypt PFX/PKCS#12 credentials. Shall be set to NULL if credentials are unencrypted.
size: unsigned int- Passphrase size in bytes. Shall be set to 0 if PFX credentials are unencrypted or passphrase is stored on disk.
storage_format: CredentialStorageFormat- Storage format for PFX/PKCS#12 credentials.
Returns:
voidSet the passphrase used to decrypt PFX/PKCS#12 credentials. Note: The passphrase provided must use the exact same character encoding used to encrypt the PFX credentials. The application makes no effort whatsoever to re-encode the same.
set_signature_box_page_number
voidset_signature_box_page_number(unsigned intpage)Parameters
page: unsigned int- Page number on which to create the widget annotation.
Returns:
voidSet the page number on which the widget annotation of the signature field is created.
set_signature_box_rectangle
voidset_signature_box_rectangle(const Rect &rect)Parameters
rect: const Rect &- Dimension of the annotation rectangle of the signature field.
Returns:
voidSet the dimension of the annotation rectangle of the signature field being created.
set_signature_type
voidset_signature_type(SignatureTypetype)Parameters
type: SignatureType- Member of the enumeration CSignatureType to be added to a document.
Returns:
voidSet the type of signature to be added to a document.
set_signer_info
voidset_signer_info(const std::string &logo_file_path, floatlogo_opacity, const std::string &name, const std::string &location, const std::string &reason, const std::string &contact_info, DisplayTraitsdisplay_traits)Parameters
logo_file_path: const std::string &- Image to display as part of signature appearance.
logo_opacity: float- Opacity of image to display as part of signature appearance.
name: const std::string &- Name of the person or authority signing the document.
location: const std::string &- CPU host name or physical location of the signing.
reason: const std::string &- Reason for signing the document.
contact_info: const std::string &- Information provided by the signer to enable recipients to contact signer for signature verification.
display_traits: DisplayTraits- Fields to display as part of signature appearance.
Returns:
void