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.