Patent ID: 8086859

Claim:
A computer-implemented method of electronically signing a data item with an electronic signature, the computer-implemented method comprising: instantiating, by an electronic signature generator on a computing device, a signature object that exposes a set of application programming interface (API) methods for electronically signing one or more data items with an electronic signature, the set of API methods exposed by the signature object including a timestamping API method for providing a timestamp for the electronic signature; issuing, by the electronic signature generator, a call to the signature object for associating the signature object with one or more data items to be electronically signed with the electronic signature; issuing, by the electronic signature generator, a call to the signature object for computing a signature value of the electronic signature, the signature value comprising a digest of the one or more data items to be electronically signed which is encrypted by a private key of an original signer; certifying, by the electronic signature generator, the signature value of the electronic signature with one or more certificates obtained by invoking certification services of one or more certification entities to attest that a public key for decrypting the encrypted digest belongs to the original signer; obtaining, by the electronic signature generator, the timestamp for the electronic signature from a trusted third-party authority, the timestamp representing an attestation by the trusted third-party authority that the signature value of the electronic signature and the one or more certificates certifying the electronic signature value existed in their specific forms at a point in time indicated by the timestamp, the electronic signature generator obtaining the timestamp from the trusted third-party authority by: issuing, to the signature object, a timestamp call that includes a callback method provided by the electronic signature generator which invokes a timestamp service of the trusted third-party authority and is passed as an input parameter to the timestamping API method of the signature object, executing a callback to the callback method received from the signature object in response to the timestamp call to invoke the timestamp service of the trusted third-party authority, and receiving the timestamp for the electronic signature which is returned from the timestamp service of the trusted third-party authority and is based on the signature value of the electronic signature, the timestamp returned from the timestamp service of the trusted third-party authority comprising a hashed combination of a signature digest of the signature value and a time value provided by the trusted third-party authority which is encrypted by a private key of the third-party authority; and issuing, by the electronic signature generator, a call to the signature object for associating the timestamp obtained from the trusted third-party authority with the signature value of the electronic signature.