3.2 WFS_INF_PIN_CAPABILITIES

Description This command is used to retrieve the capabilities of the PIN pad.

Input Param None.

Output Param LPWFSPINCAPS lpCaps;

typedef struct _wfs_pin_caps
{
WORD wClass;
WORD fwType;
BOOL bCompound;
USHORT usKeyNum;
WORD fwAlgorithms;
WORD fwPinFormats;
WORD fwDerivationAlgorithms;
WORD fwPresentationAlgorithms;
WORD fwDisplay;
BOOL bIDConnect;
WORD fwIDKey;
WORD fwValidationAlgorithms;
LPSTR lpszExtra;
} WFSPINCAPS, * LPWFSPINCAPS;

wClass
Specifies the logical service class, value is:
WFS_SERVICE_CLASS_PIN

fwType
Specifies the type of the PIN pad security module as a combination of the following flags:

Value Meaning

WFS_PIN_TYPEEPP electronic PIN pad

WFS_PIN_TYPEEDM encryption/decryption module

bCompound
Specifies whether the logical device is part of a compound physical device and is either TRUE or FALSE.

usKeyNum
Number of the keys which can be stored in the encryption/decryption module.

fwAlgorithms
Supported encryption modes; a combination of the following flags:

Value Meaning

WFS_PIN_CRYPTDESECB Electronic Code Book

WFS_PIN_CRYPTDESCBC Cipher Block Chaining

WFS_PIN_CRYPTDESMAC MAC calculation using CBC

WFS_PIN_CRYPTDESCFB Cipher Feed Back

WFS_PIN_CRYPTRSA RSA Encryption

WFS_PIN_CRYPTECMA ECMA Encryption

WFS_PIN_CRYPTTRIDESECB Triple DES with Electronic Code Book

WFS_PIN_CRYPTTRIDESCBC Triple DES with Cipher Block Chaning

WFS_PIN_CRYPTTRIDESCFB Triple DES with Cipher Feed Back

WFS_PIN_CRYPTTRIDESMAC Triple DES MAC calculation using CBC

fwPinFormats
Supported PIN formats; a combination of the following flags:

Value Meaning

WFS_PIN_FORM3624 PIN left justified, filled with padding characters, PIN length 4-16 digits

WFS_PIN_FORMANSI PIN is preceded by 0x00 and the length of the PIN (0x04 to 0x0C), filled with padding character 0x0F to the right, PIN length 4-12 digits, XORed with PAN (Primary Account Number, minimum 12 digits without check number)

WFS_PIN_FORMISO0 PIN is preceded by 0x00 and the length of the PIN (0x04 to 0x0C), filled with padding character 0x0F to the right, PIN length 4-12 digits, XORed with PAN (Primary Account Number, no minimum length specified, missing digits are filled with 0x00)

WFS_PIN_FORMISO1 PIN is preceded by 0x01 and the length of the PIN (0x04 to 0x0C), padding characters are taken from a transaction field (10 digits)

WFS_PIN_FORMECI2 (similar to WFS_PIN_FORM3624), PIN only 4 digits

WFS_PIN_FORMECI3 PIN is preceded by the length (digit), PIN length 4-6 digits, padded with 0x00

WFS_PIN_FORMVISA same as WFS_PIN_FORMECI3

WFS_PIN_FORMDIEBOLD PIN is padded with the padding character and may be not encrypted, single encrypted or double encrypted.

WFS_PIN_FORMDIEBOLDCO PIN is preceeded by the two-digit coordination number, padded with the padding character and may be not encrypted, single encrypted or double encrypted.

fwDerivationAlgorithms
Supported derivation algorithms; a combination of the following flags:

Value Meaning

WFS_PIN_CHIP_ZKA Algorithm for the derivation of a chip card individual key as described by the German ZKA.

fwPresentationAlgorithms
Supported presentation algorithms; a combination of the following flags:

Value Meaning

WFS_PIN_PRESENT_CLEAR Algorithm for the presentation of a clear text PIN to a chip card.

fwDisplay
Specifies the type of the display used in the PIN pad module as one of the following flags:

Value Meaning

WFS_PIN_DISPNONE no display unit

WFS_PIN_DISPLEDTHROUGH lights next to text guide user

WFS_PIN_DISPDISPLAY a real display is available (this doesn’t apply for self-service)

bIDConnect
Specifies whether the PIN pad is directly physically connected to the ID card unit. The value of this parameter is either TRUE or FALSE.

fwIDKey
Specifies whether an ID key is supported as a combination of the following flags:

Value Meaning

WFS_PIN_IDKEYINITIALIZATION ID key supported in the WFS_CMD_PIN_INITIALIZATION command.

WFS_PIN_IDKEYIMPORT ID key supported in the WFS_CMD_PIN_IMPORT_KEY command.

fwValidationAlgorithms
Specifies the algorithms for PIN validation supported by the service; combination of the following flags:

Value Meaning

WFS_PIN_DES DES algorithm

WFS_PIN_EUROCHEQUE EUROCHEQUE algorithm

WFS_PIN_VISA VISA algorithm

WFS_PIN_DES_OFFSET DES offset generation algorithm

lpszExtra
Points to a list of vendor-specific, or any other extended information. The information is returned as a series of “key=value” strings so that it is easily extendable by service providers. Each string is null-terminated, with the final string terminating with two null characters.

Error Codes There are no additional error codes generated by this command.

Comments Applications which require or expect specific information to be present in the lpsExtra parameter may not be device or vendor-independent.