Abstract:
Methods, systems, and computer program products digitally sign an electronic entity, such as an electronic document, with a user-entered signature image. The method involves rendering the document and rendering a sign dialog. Rendering the sign dialog includes prompting the signer to write a signature to sign the document. The method also involves receiving and inking the signature from the signer, creating a digital representation incorporating an image of the signature; creating a unique value of the image of the signature and of the document, and saving the unique value in association with the document thereby digitally signing the document. The unique value saved in association with the document is verifiable for authenticity by users of the document. Additionally, the method may also involve automatically selecting a signing certificate appropriate for the signer based on selection criteria.

Description:
TECHNICAL FIELD  
       [0001]     The present invention generally relates to digitally signing documents, and more particularly, is related to methods, systems and computer program products for digitally signing an electronic document with a user-entered signature image.  
       BACKGROUND  
       [0002]     Digital documents are widespread in society today. However, at some point or another, it usually becomes necessary to print these documents in order to complete or execute them. Businesses, government agencies, and individuals are seeking methods of keeping documents in the digital domain for the life of the document, from cradle to grave. One reason this objective has evaded many is due to the need to sign documents in order to execute them. Although digital signatures are supported in some applications, the functionality is not intuitive and doesn&#39;t meet some basic customer requirements, for instance signature verification capability in foreign environments may not be possible.  
         [0003]     Previous systems for digital signing require a user to pick a signing certificate from a non-intuitive list of computer signing certificates. Signing certificates may be purchased from a signing authority. However, there is no intuitive way to sign electronic documents. Most implementations show canned, generally textual only, representations. However, canned pictures of signatures are very different than the intuitive practice of actually taking a pen and writing or scrawling a signature on each signature line of a document.  
         [0004]     Accordingly there is an unaddressed need in the industry to address the aforementioned deficiencies and inadequacies.  
       SUMMARY  
       [0005]     Embodiments of the present invention provide methods, systems, and computer program products for digitally signing an electronic document with a user-entered signature image. Embodiments of the present invention may be executed on a tablet personal computer (PC) or a PC that is equipped with a graphics tablet. A user can actually sign his or her name on a signing line displayed via a tablet PC or graphics tablet. Embodiments of the present invention ink the signature in real time to collect and transition the signature to become a digital picture that represents the signature of the user in the document. Thus, embodiments of the present invention, by uniting the signing process to the inking process in software, allow a user digitally sign a document.  
         [0006]     One embodiment is a method for digitally signing an electronic document with a user-entered signature image. The method involves rendering the document and rendering a sign dialog. Rendering the sign dialog may include prompting the signer to write the signature in order to sign the document. The method also involves receiving and inking the signature from the signer via the sign dialog, creating a digital representation that incorporates an image of the signature, creating a unique value of the image of the signature and of the document, and saving the unique value in association with the document thereby digitally signing the document. The unique value saved in association with the document is verifiable for authenticity by users of the document. Additionally, the method may also involve selecting a signing certificate appropriate for the signer based on selection criteria.  
         [0007]     Another embodiment is a computer program product including a computer-readable medium having control logic stored therein for causing a computer to digitally sign an electronic document with a user-entered signature image. The control logic includes computer-readable program code for causing the computer to render the document and render a sign dialog. The computer program product also includes computer-readable program code for causing the computer to receive and ink the signature from a user, create a digital representation that includes an image of the signature, create a unique value of the image of the signature and of the document, and save the unique value in association with the document thus, digitally signing the document.  
         [0008]     Still another embodiment is a computer-implemented system for digitally signing an electronic document with a user-entered signature image. The system includes a computing apparatus having a display screen and an input device operative to render the document and render a sign dialog. The computing apparatus is also operative to receive and ink the signature from the user, create a digital signature that includes an image of the signature, create a unique value of the image of the signature and of the document, and save the unique value in association with the document thereby digitally signing the document.  
         [0009]     The invention may be implemented utilizing a computer process, a computing system, or as an article of manufacture such as a computer program product or computer-readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.  
         [0010]     These and various other features, as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  is a computing system architecture illustrating a computing apparatus utilized in and provided by various illustrative embodiments of the invention;  
         [0012]      FIG. 2  is a computer screen display illustrating a user interface for an authoring application displaying an option to insert a signature line according to an illustrative embodiment of the present invention;  
         [0013]      FIG. 3  is a computer screen display illustrating a user interface displaying a signature line setup dialog according to an illustrative embodiment of the present invention;  
         [0014]      FIG. 4  is a computer screen display illustrating a user interface displaying an access dialog to sign a document according to an illustrative embodiment of the present invention;  
         [0015]      FIG. 5  is a computer screen display illustrating a user interface displaying a document sign dialog according to an illustrative embodiment of the present invention;  
         [0016]      FIG. 6  is a computer screen display illustrating a user interface displaying a signature line with an inked signature according to an illustrative embodiment of the present invention;  
         [0017]      FIG. 7  is an operational flow diagram illustrating operations performed in digitally signing an electronic document with a user-entered signature image according to an illustrative embodiment of the present invention; and  
         [0018]      FIG. 8  is an operational flow diagram illustrating operations performed in selecting a signing certificate for a user according to an illustrative embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0019]     Referring now to the drawings, in which like numerals represent like elements, various aspects of the present invention will be described. In particular,  FIG. 1  and the corresponding discussion are intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer (PC), those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules, such as a tablet PC and tablet operating system.  
         [0020]     Generally, program modules include routines, programs, operations, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.  
         [0021]     Referring now to  FIG. 1 , a computing system architecture illustrating a computing apparatus  102  utilized in and provided by various illustrative embodiments of the invention will be described. The computer architecture shown in  FIG. 1  illustrates the computing apparatus  102 , including a central processing unit  105  (“CPU”), a system memory  107 , including a random access memory  109  (“RAM”) and a read-only memory (“ROM”)  111 , and a system bus  112  that couples the memory to the CPU  105 . A basic input/output system  113  (BIOS) containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in the ROM  111 . The computing apparatus  102  further includes a mass storage device  114  for storing an operating system  116 , application programs, and other program modules, which will be described in greater detail below.  
         [0022]     The mass storage device  114  is connected to the CPU  105  through a mass storage controller (not shown) connected to the bus  112 . The mass storage device  114  and its associated computer-readable media provide non-volatile storage for the computing apparatus  102 . Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed by the computing apparatus  102 .  
         [0023]     By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVJS’), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing apparatus  102 .  
         [0024]     According to various embodiments of the invention, the computing apparatus  102  may operate in a networked environment using logical connections to remote computers through the network  105 , such as the Internet or intranet. The computing apparatus  102  may connect to the network  105  through a network interface unit  120  connected to the bus  112 . It should be appreciated that the network interface unit  120  may also be utilized to connect to other types of networks and remote computer systems. The computing apparatus  102  may also include an input/output controller  122  for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown). Similarly, an input/output controller  122  may provide output to a display screen  123 , a printer, or other type of output device. The input/output controller may also receive input via the display screen  123  by the use of a graphics tablet pen input device  127  utilized in conjunction with inking technology.  
         [0025]     As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device  114  and RAM  109  of the computing apparatus  102 , including an operating system  116  suitable for controlling the operation of a networked personal computer, such as the WINDOWS XP operating—system from MICROSOFT CORPORATION of Redmond, Wash. The mass storage device  114  and RAM  109  may also store one or more other program modules. In particular, the mass storage device  114  and the RAM  109  may store an authoring application (AA)  117 , such as MICROSOFT WORD from MICROSOFT CORPORATION of Redmond, Wash. The AA  117  authors digitally signable documents such as document A  121  having one or more signature lines and document B  125  having one or more digital signatures. The AA  117  includes a Signature Inking module  119  that is operative to ink a signature as a digital representation of a document that is digitally signable. The AA  117  also selects a signing certificate for use in digitally signing the document from among signing certificates  129  stored on the mass storage device  114 .  
         [0026]     According to one embodiment of the invention, the AA  117  and other application programs  115  may comprise the OFFICE suite of application programs from MICROSOFT CORPORATION including the WORD, EXCEL, and POWERPOINT application programs. The other application programs  115  may also include a web browser application, such as INTERNET EXPLORER from MICROSOFT CORPORATION and an electronic mail application, such as OUTLOOK from MICROSOFT CORPORATION.  
         [0027]      FIG. 2  is a computer screen display illustrating a user interface  200  for the authoring application  117  displaying an option  204  to insert a signature line according to an illustrative embodiment of the present invention. The user interface  200  may be displayed via the display screen  123  of the computing apparatus  102 . The user interface  200  is accessed when a user selects an Insert menu  202  to insert a signature line. The user may select the option  204  to insert one or more signature lines that can be signed by typing or signing a name.  
         [0028]      FIG. 3  is a computer screen display illustrating a user interface displaying a signature line setup dialog  300  according to an illustrative embodiment of the present invention. The signature line setup dialog  300  may also be displayed to a user via the display screen  123 . The Signature Line setup dialog  300  may be shown before a user can insert a signature line in the document  207 . The fields in this dialog are a suggested signer field  302  for receiving the name of the user to show on a first line under the signature line, a suggested signer&#39;s title field  304  for receiving text a user would like shown on a second line under the signature line, and a suggested signer&#39;s e-mail address field  305  which may not be shown in the signature line user interface, but may be used to send the document to the signer. The fields also include signature instructions  307  shown to the signer in a sign dialog  500  (see  FIG. 5 ) and a checkbox  310  for “Allow the signed to add comments in the Sign dialog” provides a single line text bow in the sign dialog  500  with the caption “Purpose for signing this document (optional):” 
         [0029]      FIG. 4  is a computer screen display illustrating a user interface displaying a signature line  400  according to an illustrative embodiment of the present invention. Upon completion of the signature line setup dialog  300 , the signature line  400  is displayed in the document  207 . When a user double clicks or right clicks on the signature line  400 , the sign dialog  500  is rendered.  
         [0030]      FIG. 5  is a computer screen display illustrating a user interface displaying a document sign dialog  500  according to an illustrative embodiment of the present invention. The sign dialog  500  is shown when a user double-clicks or right clicks on the signature line  400 . The steps to complete this document are:  
         [0031]     1. Read the instructions  
         [0032]     2. Type, ink, or click “select a picture . . . ” 
         [0033]     3. Verify that the appropriate certificate to sign with has been selected.  
         [0034]     4. Click Sign  
         [0035]     The AA  117  inks the signature from the signer at an “ink here” box  502  displayed in the sign dialog  500  with sign line  505 . The signing certificate is verified in a verification section  504 . And clicking a sign button  507  activates the digital signing process.  
         [0036]     If the user that set up this signature dialog checked “Allow the signed to add comments in the Sign dialog”, a single line text bow in the Sign dialog with the caption “Purpose for signing this document:” is provided. The “Purpose for signing” comments are optional because intent to sign is shown by typing, inking, or selecting a picture.  
         [0037]      FIG. 6  is a computer screen display illustrating a user interface displaying a signature line  400 ′ with an inked signature  605  displayed according to an illustrative embodiment of the present invention. The signature line  400 ′ illustrates the suggested name of the signer  603  on the first line under the sign line  505 ′ and the suggested title of the signer  604  on the second line under the sign line  505 ′. When the user writes his signature in the signature line  400 ′, the AA  117  inks the signature  605 . The AA  117  also displays a date and time of signature  607  when the signature is inked.  
         [0038]      FIGS. 7-8  are illustrative routines or operational flows performed in digitally signing an electronic document with a user-entered image of a signature according to illustrative embodiments of the invention. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated in  FIGS. 7-8 , and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.  
         [0039]      FIG. 7  is an operational flow diagram  700  illustrating operations performed in digitally signing an electronic document with a user-entered image of a signature according to an illustrative embodiment of the present invention. The operational flow  700  begins at operation  702  where the AA  117  inserts a signature line into a document, such as the document A  121  ( FIG. 1 ).  
         [0040]     Next, at operation  704  the AA  117  determines whether a selection to sign the document now has been received. When a selection to sign has been received the operational flow  700  continues to operation  715  described below. This selection may be a right click and selection on the signature line. When a selection to sign now has not been received, the operational flow continues to operation  705 .  
         [0041]     At operation  705 , the AA  117  finalizes the document by locking the document from edits to secure the authenticity of the document. Next at operation  707 , a determination is made as to whether the document is to be sent to a signer for signature, for instance by electronic mail as an attachment. If the document is not to be sent off for signature, the operational flow  700  returns control to other routines at return operation  727 . If the document is to be sent off for signature, the operational flow  700  continues from operation  707  to operation  710 .  
         [0042]     At operation  710 , the AA  117  sends the document off for signature. Then at operation  712 , another authoring application similar to the AA  117  receives, opens, and renders the document to a signer via a computing apparatus similar to the computing apparatus  102 . Upon loading or opening the document, the authoring application verifies whether the document has a signature line that is unsigned, signed, or signed with an invalid signature because the document has been tampered with or changed.  
         [0043]     The signer may find the signature line in the document and select to sign the document. The authoring application receives the selection to sign at operation  714 . Then at operation  715 , the authoring application selects a signing certificate for the signer or user in accordance with selection criteria. Additional details regarding selecting a signing certificate will be described below with respect to  FIG. 8 .  
         [0044]     Next, the operational flow  700  continues from operation  715  to operation  717 , where the authoring application renders the sign dialog  500  to the signer. The sign dialog prompts a user to take an explicit action to sign the document, such as writing his or her signature. This ensures manifested intent to sign on the part of the user.  
         [0045]     The operational flow  700  then continues to operation  718  where the authoring application receives, inks, and creates a digital image of the signature of the user. Next, the operation creates a unique value of the image of the signature and the document at operation  720 . In an illustrative embodiment, the image may be embedded in an XML digital signature that includes an object XML element containing the embedded image as a signed reference. Creating the unique value involves calculating the unique value based on the document and image, incorporating the image of the inked signature, and associating the unique value with the signing certificate selected. As is understood by those skilled in the art, XML is a standard format for communicating data. In the XML data format, a schema is used to provide XML data with a set of grammatical and data type rules governing the types and structure of data that may be communicated.  
         [0046]     Next, at operation  722 , the authoring application saves the digital representation with the document thereby digitally signing the document. The authoring application may also render to the user a confirmation that the document is signed. The operational flow then continues to operation  705  described above.  
         [0047]      FIG. 8  is an operational flow diagram  800  illustrating operations performed in selecting a signing certificate for a user according to an illustrative embodiment of the present invention. The operational flow  800  begins at operation  802  where the authoring application, such as the AA  117 , examines properties of signing certificates stored in the memory of the computing apparatus rendering the document.  
         [0048]     Next, at operation  804 , the authoring application filters out certificates that do not match selection criteria. For example signing certificates inappropriate for a user such as certificates used for network authentication or for code signing, are filtered out. Also companies have the ability to specify specific filter strains that they desire to implement as selection criteria in selecting exactly the right certificate for the end user. One value of this being that more end users are able to sign correctly without non-intuitively thinking about how to digitally sign.  
         [0049]     Then at operation  805 , the authoring application selects the signing certificate from among signing certificates that match the selection criterion prior to receiving and inking the signature from the signer. The operational flow  800  then returns control to operation  715  ( FIG. 7 ) at return operation  807 .  
         [0050]     Based on the foregoing, it should be appreciated that the various embodiments of the invention include methods, systems, and computer-readable mediums for digitally signing an electronic document with a user-entered image of a signature. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.