Have you ever needed to be sure a document sent is the one being read? We all know that the Internet is a dangerous place for unprotected data. Transferring any un-encrypted data is fair game to be intercepted, stolen, or altered. Digital Signatures are an excellent way to avoid some these problems.
Digital Signatures offer a highly secure way to ensure a document or file has not been altered or tampered with after it has been created. The basis for a digital signature is the Digital Certificate. A Digital Certificate is generally a file created manually using encryption software such as OpenSSL or Microsoft IIS, or provided by a certificate authority such as Verisign(https://www.verisign.com/) or Digicert (https://www.digicert.com/). This file contains encrypted information identifying the signer in a specific way. It can be an encrypted representation of the signer’s actual signature, or simply their name and address just as long as it’s encrypted and in the proper format.
Using this Digital Certificate, a file hash is created, encrypted, and stored with the original file along with the certificate itself. When the file is later opened, the verification software will create its own hash based on the stored certificate and compare it to the hash stored with the signed file. If the hashes match, one can be sure the file has not been altered since it was “signed”.
In past versions of ReportBuilder, it has been possible to add Signature form fields to PDF files before exporting. These Signature fields allow users to digitally sign their PDF documents from within a PDF viewer such as Adobe Acrobat. Now with the introduction of ReportBuilder 21, it is possible to skip the Adobe step and sign a PDF file directly with ReportBuilder.
ReportBuilder 21 utilizes the OpenSSL library to open and process the Digital Certificate file. While ReportBuilder includes the latest build of the OpenSSL library with its installation, it is highly recommended that you download* your own version to ensure the highest security. The Indy Project provides new builds daily at the following location: https://indy.fulgan.com/SSL/.
See the following article and example for more information about this powerful feature of ReportBuilder!
* A note about Indy OpenSSL binaries.
The currently supported version of OpenSSL by Indy (for Delphi) is 1.0.2. This version is no longer supported by the OpenSSL Organization but is maintained by the Indy Project. The actual latest stable version of OpenSSL is 1.1.1 (until September 2023). It is possible to download this version from the Indy site under /Archive/Experimental/. Do not be deterred by the “Experimental” label, it simply implies that those versions of OpenSSL are not yet fully tested for use with Indy. While the older versions of OpenSSL are still updated with the latest bug-fixes and will function with ReportBuilder, it is strongly recommended that you download and use the latest supported version.
For more information about OpenSSL versioning, see the following web page: https://www.openssl.org/source/