IvSign services technical documentation

  1. API
    1. API documentation
    2. Code samples
    3. Keyman errors
  2. KeyController driver
  3. Driver PKCS11 integration
  4. Biometric signature
  5. PAdES signature visual appearance

1. API

IvSign has an Application Programming Interface (API) accessible through protocols REST and SOAP.

The API is divided in several versions, which ones evolve as the same time as IvSign's versions.
On each IvSign's new version it is priority not to change anything from the API, however this is not always possible due to security issues or the new needs of the product. On those cases a new API version is created, maintaining compatibility with the previous one providing integrators time to change and test their applications.
It is always recommended update integrators' applications to the last API version available because old API versions won't be available eventually.

1.1. API documentation

Following there is a list of the current available API versions:

IvSign API V6
IvSign API V5
IvSign API V4
IvSign API V3

1.2. Code samples

IvSign provides code samples for different platforms and code languages.
If some additional code languages samples are needed, contact with your project manager to study it.

API V4 samples

1.3. Keyman errors

Following there is a reference to Keyman's errors lits, which contains all Keyman errors that may happen during execution.

Keyman's errors

2. KeyController driver

IvSign has a driver for both Windows and Mac OS platforms that allows to use the digital certificates centralized on IvSign as if they were installed on the local certificates store.
KeyController integrates on Windows as a Cryptographic Services Provider (CSP) and on Mac OS using a PKCS11 library.
It is also possible to use the digital certificate on any browser. Apart from that, there are also available plugins for Internet Explorer and Google Chrome to obtain the URL that requests certificate authentication. This URL can be used for establishing usage rules or policies that restrict certificates' use on those URL.
In addition, a PKCS11 library is provided specially for Firefox since this browser doesn't support the certificates stored on the local certificates store.

KeyController driver asks for certificates' pin each time they are intended to be used, though it is possible to establish the pin before the use of a certificate in order to automatize IvSign integrations that use KeyController.

Usage samples from .NET application on Windows
Integration with KeyController C#

Usage samples from JAVA application on Windows
Integration with KeyController JAVA
JNA dependencies are needed to run this sample :
jna-5.2.0.jar
jna-platform-5.2.0.jar

Usage samples from PYTHON application on Linux
Integration with KeyController Python
Dependecies are needed to run this sample:
Python Module PyKCS11

PKCS11 Usage samples from C# application on Windows
Integration with KeyController PKCS11 C#
Dependecies are needed to run this sample:
Pkcs11Interop Nugget

3. Driver PKCS11 integration

IvSign has a multi-platform driver that allows to centralize digital certificates into IvSign using an standard PKCS11 interface.
For more information about this library, consult to your project manager.

4. Biometric signature

IvSign allows to perform digital signatures that include biometric data obtained from a wacom tablet or similar device.
This biometric data are encrypted using a special key and are used on IvSign's advanced signature service, having the biometry component enabled.
Lately, it is possible to perform an analysis of those biometric data using an specialized tool and being in possession of the encrypt private key.

Biometric integration process detail

5. PAdES signature visual appearance

The ivsign api allows the integrator to set a visual appearance to the pdf signature, this appearance is a box that can contain text,
image or both combined and can be located on one or more pages. The signature appearance is created as annotation according to the PDF iso 32000 standard.

Pades signature appearance examples