Skip to main content

ISO Format

Signature ISO Format

Overview

Signatures captured using the Signature Library are saved in the proprietary Wacom Forensic Signature Store (FSS) format. The format is used consistently to provide compatibility between different platforms and applications, for example mobile signature capture with Windows SignatureScope analysis.

To provide interoperability with third-party software an ISO format signature can be used. A number of ISO standards are defined but the Signature Library implements the following:

  • ISO 19785 XML format
  • Binary data format specified in ISO19794-7

An example of an ISO format signature is as follows where the signature pen data is contained within the <BDB> tags:

Sample signature in ISO format

?xml
version="1.0" encoding="UTF-8"?>
<BIR xmlns="http://standards.iso.prg/iso-iec/19785/-3/ed-2/">
<!--
{iso registration-authority cbeff(19785) biometric-organization(0)
jtc1-sc37(257) patron-format(1) xml-full(7)} -->
<!--
<OBJECT_IDENTIFIER>1.1.19785.0.257.1.7</OBJECT_IDENTIFIER> -->
<Version><Major>2</Major><Minor>0</Minor></Version>
<CBEFFVersion><Major>2</Major><Minor>0</Minor></CBEFFVersion>
<BIRInfo>
<Creator>WacomGSS Signature SDK - 67</Creator>
<Integrity>false</Integrity>
<CreationDate>2018-06-19T14:15:17Z</CreationDate>
</BIRInfo>
<BDBInfo>
<CreationDate>2018-06-19T14:15:09Z</CreationDate>
<Type>SignatureSign</Type>
</BDBInfo>
<BDB>U0RJACAxMADBYOC0gIAAp7
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
/wGjMZBkK8AB/wGjMZBkK/IB/wGjMZBkLCMB
/wGjMZBkLFYB+wGjJpB3LIcBzwGjJZChLLoBjAGjHZDcLOwBQQGjDJEkLR4A8QGjDJEkLVAAAACjDJEkLYIAAAA=</BDB>
</BIR>

Implementation

The SigObj object has been extended to provide conversions between FSS and ISO formats. As a security measure a signature collected by Wacom Signature Capture can only be saved as either FSS or ISO, not both. However after importing an ISO signature it can be saved in the FSS format. The option to encrypt the ISO signature data is included. The following table indicates the import/export options available:

Originating SourceCan export as ISOCan save as FSS
Wacom Signature Captureone or the other, but not both
FSS (originating from Wacom Signature Capture)-
FSS (saved from ISO)
ISO

Note that calling RenderBitmap with the option RenderEncodeData will effectively export FSS to the bitmap. To avoid attempting the output of both ISO and FSS formats the RenderEncodeData option will need to be avoided when exporting the ISO format.

API

Additions to flSigCOM for ISO support:

Classes
Class
AdditionalImportIsoData
Enumerator Types
Enumerator
ImportIsoFlags
ExportIsoFlags

FlSigCOM: SigObj

Methods
Method
ImportIso
ExportIso

Enumeration Types

ImportIsoFlags

Specifies the ISO format expected for import.

NameValueDescription
ImportIsoFlag_iso19784_7_binary1Binary format ISO
ImportIsoFlag_iso19785_3_xml2XML format ISO
ImportIsoFlag_iso19784_7_encrypted_binary3Binary encrypted ISO
ImportIsoFlag_iso19784_7_encrypted_text4Base64 encrypted ISO
ExportIsoFlags

Specifies the exported ISO format.

NameValueDescription
ExportIsoFlag_iso19784_7_binary1Binary format ISO
ExportIsoFlag_iso19785_3_xml2XML format ISO
ExportIsoFlag_iso19784_7_encrypted_binary3Binary encrypted ISO
ExportIsoFlag_iso19784_7_encrypted_text4Base64 encrypted ISO

Class

FlSigCOM: AdditionalImportIsoData

Summary

Property
  • Who
  • Why
  • When
  • TimeZoneOffset
  • ExtraData
NameValueSigObj Property Description
WhoStringSpecifies the name of signatory of the imported signature.
WhyStringSpecifies the reason for signing of the imported signature.
WhenDATESpecifies the local time and date when the signature was captured. An OLE Automation Date data type is expected. Note that to supply a date in JavaScript the type must be explicitly converted, for example: additionalData.When = (new Date(2018,6-1,27, 11,0,0)).getVarDate(); // 27-06-2018 11:00:00
TimeZoneOffsetLongTime zone offset in MINUTES to UTC. For example -60 for UK BST.
ExtraDataStringExtraData is a parameterized property that allows the client to store additional data within the signature object after capture. (See SigObj property ExtraData) For example: additionalData.ExtraData("Key1") = "value for Key1"; additionalData.ExtraData("Key2") = "value for Key2";

FlSigCOM: ISO methods

ImportIsoData

Reads an ISO format signature into the signature object.

ImportIsoRetVal ImportIso(iso, importIsoFlags, additionalIsoData)
ParameterDescription
iso

Variant ISO data: String or Byte Array
When the ImportIsoFlag_iso19785_3_xml flag is used, the variant iso is expected to be a string.
While the whole document is scanned for compliance, only the root BIR is accessed, and it is assumed the BDB block is not encrypted.
If the ImportIsoFlag_iso19784_7_binary flag is used, the variant iso is expected to be a BYTE[].
Additional data within the BDB block is ignored.

importIsoFlags

enum type ImportIsoFlags, specifies the ISO format expected for import:

  • ImportIsoFlag_iso19784_7_binary
  • ImportIsoFlag_iso19785_3_xml
  • ImportIsoFlag_iso19784_7_encrypted_binary
  • ImportIsoFlag_iso19784_7_encrypted_text
additionalIsoDataobject AdditionalImportData
Return Value: ImportIsoRetVal

When the ImportIsoFlag_iso19784_7_encrypted_binary flag is used, the variant iso is expected to be a BYTE[] containing encrypted iso19784_7 binary data. The appropriate decryption key must be set, via SetProperty, before calling ImportISO.

When the ImportIsoFlag_iso19784_7_encrypted_text flag is used, the variant iso is expected to be a string containing base64-encoded encrypted iso19784_7 binary data. As for ImportIsoFlag_iso19784_7_encrypted_binary, the decryption key must be set before calling ImportISO.

ImportIsoRetValTypeSigObj Property Description
SucceededBoolTrue if call was successful, otherwise False
DiagnosticMessageStringPlain text error message
DiagnosticCodeStringPlain text error code

The diagnostic messages are not localised and are intended for use by Wacom developers in the case of support being needed.

ExportIsoData

Creates an ISO format output of the current signature.

Export is only allowed if the SigObj has not been loaded from an FSS, or been saved as FSS (by accessing SigData or SigText). Either the BDB binary or a minimal XML wrapper can be retrieved.

Attempting a disallowed export will result in an exception being thrown.

ExportIso(exportIsoFlags)

ParameterDescription
exportIsoFlags

enum type ExportIsoFlags, specifies the ISO format expected for export:

  • ExportIsoFlag_iso19784_7_binary
  • ExportIsoFlag_iso19785_3_xml
  • ExportIsoFlag_iso19784_7_encrypted_binary
  • ExportIsoFlag_iso19784_7_encrypted_text

For ExportIsoFlag_iso19784_7_encrypted_binary and ExportIsoFlag_iso19784_7_encrypted_text, an encryption key must be set via SetProperty prior to calling ExportIso.

Return Value: iso (or exception)

  • iso binary - BDB binary format ISO
  • iso xml - BDB XML format ISO
  • iso encrypted binary - BDB binary encrypted format ISO
  • iso Base64 encrypted - BDB Base64 encrypted format ISO