Header

Compatibility

Compatibility issues

The Passport Reader system retains the backward compatibility with the older versions; the compiled programs run perfectly well even if the system is upgraded to a newer version.

The evolution of the system adds the necessity of changing the SDK by adding new functions, new parameters to functions, eventually changing the type of the return value or moving the deprecated functions into the compatibility section that may not be installed by default. In this way the users are pushed to use the newest version each time they compile their programs with the Passport Reader SDK, but there is also the possibility to compile the existing sources using the appropriate version.

What to do if you do not want to update your code?

Changes from version 2.1.0 to version 2.1.1

Certificate and private key handling

As the pkcs8 format for storing the private key does not contains enough information for matching against the proper public key (stored in a certificate), separate handling is not recommended. Therefore the LoadCertificate() functions have been modified and a second argument is added that specifies the private key relating to the certificate. The LoadPrivateKeyFile() function have been obsolete and deleted from the SDK.

As it is possible to differentiate the CV (Card Verifiable) certificate from the "normal" certificates, from this version the same LoadCertFile() function is used for loading both types of certificate. The LoadCVCertFile() function have been obsolete.

Changes from version 2.0.11 to version 2.1.0

The two versions of the Passport Reader are fully run-time compatible. The main changes between the two version branches is the usage of the gxVARIANT structures for internal data storage and the improved connection handling for RFID chips (see pr_connectrfidcard(), pr_disconnectrfidcard(), ConnectRfidFile(), pr.DisconnectRfidFile() function documentations).

Variant structures for internal data storage

By introducing the variant structures for data storage, the internal data handling system gets to a new level of flexibility that is required by the dynamically evolving MRTD technology.

Compatibility issues concerning the low level programming languages (C):

Note:
For high level programming languages, the source code compatibility is preserved as concerning this issue.
Warning:
In C++ programming language in case of using gxIMAGE structures returned by the GxImage() function, the reference number of the image data is automatically increased and must be dereferenced at the end of using it to avoid memory leakage (check the prapi03.cpp sample program).

Handling multiple facial images read from the RFID chip

In the previous versions the PR_DF_RFID_FACE+index was used for getting the desired image, in the new implementation multiple document fields of the same type are identified using a unique identifier and an index. For getting the first RFID image only the PR_DF_RFID_FACE must be specified as parameter for the function. The PR_DF_RFID_FACE+1 form is deprecated but for compatibility reasons the old form is converted implicitly.

Connection handling for RFID chips

The new version adds the framework for handling multiple RFID chips at the same time. For example if a VISA containing an RFID chip is added to an MRTD, the two chips in the range must be distinguished and handled properly.

Two new functions were added for connecting and disconnecting the used RFID chip. For more information please check the Passport Reader Programmers Manual and the sample programs.

Changes from version 2.0.9 to version 2.0.10

The two versions of the Passport Reader are fully run-time compatible, but there are some changes in the type of the return values, and function parameters.

For C/C++ programs:

For C++ programs:

For programs using ActiveX technology:


Generated  for Passport Reader
(c) ADAPTIVE RECOGNITION