CIC iSign Version 1.2

Package InkTools

InkTools for Java is a software development kit (SDK) for developers of ink-centric applications, applets and WEB based systems.InkTools provides API function for tasks as capturing and displaying ink from a user, redisplay and resize ink, compress and encrypt ink data, creating user templates for signature verification and doing signature verification.

See:
          Description

Interface Summary
IFingerPrint This class describes the interface required for the use of the CicFingerPrint class.
 

Class Summary
Base64 Encode arbitrary binary into printable ASCII using BASE64 encoding.
CicDoodle CIC's general ink object.
CicFingerPrint This class provides a high level interface to the rather complex BioAPI for the use of a fingerprint scanner.
CicHash CIC's implementation of the Secure Hash Algorithm (SHA) to produce a message digest.
CicInkControl Provides the signature box, the UI element of InkTools.
CicInkControlBeanInfo Title: InkTools for Java Description: Copyright: Copyright (c) 2000 Company: CIC
CicInkShrink This class provides methods for compressing ink data.
CicReturn Defines the CIC InkTools return and error codes.
CicServer Provides highlevel functions for signature enrollment and verification for servlet development.
CicSigCheck CIC's signature verification class.
CicStroke This class defines the CIC stroke object.
CicUtils This is a general utiliy class for Cic's InkTools package.
CicUtilsEx This is the general utiliy class for Cic's InkTools package in its extended version.
CicWinTab This class establishes communication to CIC's Windows 'JavaInk.DLL' in order to receive data from a digitizer.
JpegEncoder  
 

Package InkTools Description

InkTools for Java is a software development kit (SDK) for developers of ink-centric applications, applets and WEB based systems.InkTools provides API function for tasks as capturing and displaying ink from a user, redisplay and resize ink, compress and encrypt ink data, creating user templates for signature verification and doing signature verification.

The center piece of the InkTools package is the CicInkControl class. The InkControl is is graphical user interface (UI) element in form of a signature box, which will automatically capture and display a users signature input, preferable done with a pen and a tablet. The InkControl can be used as a Java Bean UI element, so it is easy to embed it into Java applications or applets. The signature is displayed in a user definable color with a thin or thick line attribute. All the visible elements like InkControl size, ink and background color, border style, writing guide style etc. can be accessed throught the CicInkControl class or through the InkControl Bean parameters.

A signature that is captured with a pen and tablet, consists on the most basic levels x/y coordinates (or points). These points are further assembled into strokes (CicStroke class), whereby a stroke is defined as a line of points from pen down to pen up. Strokes are further assembled into doodles ( CicDoodle class), which is a collection of strokes within a signature. A doodle represents therefore the whole signature, which is referred to as the signature or ink data. The ink data within a doodle represents the original input data (preserving the resolutuion of the input device used), independend from the display attributes of the InkControl.

The InkControl will automatically capture ink data within a CicDoodle object. This CicDoodle object can then be accessed for further operations. The doodle object supports different kinds of compression algorithm as well as different encryptions chemes, which can be enabled for the 'streamOut' function. The 'streamOut' function will fill a byte array with the ink data for further storage, binding or transmission over network/internet. If the developers wishes, this byte data can also be transformed into an ASCII string. The ink data within such an byte stream can later than loaded into a CicDoodle object with the 'streamIn' function, this doodle can get loaded into a CicInkControl and the ink displayed on the screen. The CicDoodle is theInkTools main ink object, through which ink data gets passed to different modules.

The CicSigCheck class is the class for the signature verification functionality. In the signature verification a users signature will be compared with a previously generated 'user template', and according to definable thresholds, the signature is verified or will be rejected. A 'user template' is created through the enrollment process. In the enrollment process 3 to 6 signatures from a user are captured and then passed into the enrollment function. The passed in signatures should be similar to each other and have a specific complexity Single lines and letters will be rejected in the enrollment process and if this occurs, additional user signatures will be requested. CicSigCheck supports different encryption algorithm, so that the signature template always exist in a encrypted form. The CicSigCheck 'streamOut' function can be used to get a byte stream of the (encrypted) template for further storage or transmission. The byte stream can be converted into a ASCII only string.

For signature verification, the template gets loaded into the CicSigCheck object and then the verification function is called with the users signature in form of a doodle object. The return value gives the result of the verification. InkTools does not provide functions for user template mangement The developer is responsible for saving and retreiving templates out of a database.

In order to make it more easy to develop WEB centric application systems like CIC's iSign for Java, the CicUtils class has functions for HTTP-Tunneling (applet-servlet communication) and a 'signature-to-Jpeg' encoder. The CicServer class has additional helper function for servlet programming, which do not use the CicInkControl class, since no UI is needed on the back end server. The CicServer class provides function for signature enrollment and verification as well as some other helper functions.

For a Windows based client machine, the JavaInk.DLL is provided which will access 'wintab' enabled digitizers directly in order to provide a higher sampling resolution and a higher sampling rate than the mouse interface. This DLL can also be used to get a signature from a Palm Organizer device.

 



CIC iSign Version 1.2