1. 背景
CEN/XFS标准是由CEN(欧洲标准委员会)组织推行的用于金融扩展服务设备的统一标准,其3.0版本已得到了全球绝大多数金融设备供应商的支持。在理想状况下,基于CEN/XFS3.0标准开发的自助终端应用程序应能无缝的运行在不同厂商的符合XFS3.0标准的金融设备上,但由于XFS3.0标准并没有对厂商如何实现该标准做严格的约束,同时CEN组织是非盈利性机构,无力对各金融设备供应商进行符合XFS3.0标准的认证测试,因此各厂商对XFS3.0标准的理解和实现,存在一些差异,从而使基于该标准开发的应用程序无法无缝的运行在不同厂商的金融设备上。
目前正在进行统一的跨平台ATMC与跨平台自助终端C的实施工作。为了使跨平台自助设备C的实施能顺利开展,必须对CEN/XFS3.0标准进行补充和细化,统一规范各厂商对标准的理解,清除在实现该标准时可能产生的歧义,从而使跨平台自助设备C的实施工作能顺利开展,使统一的自助设备C能无缝运行在各品牌型号的自助设备上。
2. 范围
本细化实施规范基于CEN/XFS3.0标准的文档(编号CWA14050-1至CWA14050-15)制定。在本细化规范中将对CEN/XFS3.0标准中可能引起歧义、或有特殊用法的地方进行特别说明。
本文件中未说明的均以CEN/XFS3.0标准文档为准。
本文件中所有的函数、参数、常量、变量的定义均引自CEN/XFS3.0标准。
3. 规范性引用文件
CWA 14050-1
Part 1: Application Programming Interface (API) – Service Provider Interface (SPI); Programmer's Reference
CWA 14050-2 Part 2: Service Classes Definition; Programmer's Reference CWA 14050-3 Part 3: Printers Device Class Interface; Programmer's Reference
CWA 14050-4 Part 4: Identification Card Device Class Interface -Programmer's Reference CWA 14050-5 Part 5: Cash Dispenser Device Class Interface
CWA 14050-6 Part 6: PIN Keypad Device Class Interface – Programmer’s Reference CWA 14050-7 Part 7: Check Reader/Scanner Device Class Interface CWA 14050-8 Part 8: Depository Device Class Interface
CWA 14050-9 Part 9: Text Terminal Unit Device Class Interface
CWA 14050-10 Part 10: Sensors and Indicators Unit Device Class Interface CWA 14050-11 Part 11: Vendor Dependent Mode Class Interface CWA 14050-12 Part 12: Camera Device Class Interface CWA 14050-13 Part 13: Alarm Device Class Interface
CWA 14050-14 Part 14: Card Embossing Unit Class Interface
CWA 14050-15 Part 15: Cash In Module Device Class Interface -Programmer's Reference
4. 术语和定义
CEN XFS ATM PTR IDC CDM PIN CHK DEP TTU SIU VDM CAM ALM CEU CIM
欧洲标准化委员会 扩展金融服务 自动柜员机
打印机,包括凭条打印机、流水打印机 读卡器,包括磁条读卡器、IC卡读卡器 出钞模块 加密键盘 支票模块 信封存款模块 字符终端
传感器与指示灯 厂商模式 摄像机 警报器 压卡模块 现金存款模块
5. 对规范的细化
5.1 PIN
PIN必须至少支持下表中列出的命令: Info Commands WFS_INF_PIN_STATUS WFS_INF_PIN_CAPABILITIES WFS_INF_PIN_KEY_DETAIL WFS_INF_PIN_FUNCKEY_DETAIL Execute Commands WFS_CMD_PIN_IMPORT_KEY WFS_CMD_PIN_GET_PIN WFS_CMD_PIN_GET_PINBLOCK WFS_CMD_PIN_GET_DATA WFS_CMD_PIN_INITIALIZATION WFS_CMD_PIN_RESET WFS_CMD_PIN_CRYPT WFS_INF_PIN_STATUS fwDevice
当设备正在执行Execute Command 时处于WFS_PIN_DEVBUSY状态,此时所有的Info
Command命令均应立即返回正确信息。
fwEncStat
除WFS_PIN_ENCBUSY外,其他状态均不应影响fwDevice的值。例如,当fwEncStat从WFS_PIN_ENCREADY 变为WFS_PIN_ENCNOTREADY时,fwDevice值不应该改变。
WFS_INF_PIN_CAPABILITIES fwType
必须至少包含WFS_PIN_TYPEEPP与 WFS_PIN_TYPEEDM
usKeyNum 不得小于12
fwAlgorithms
必须至少包含下表所列算法 WFS_PIN_CRYPTDESECB WFS_PIN_CRYPTDESCBC WFS_PIN_CRYPTDESMAC WFS_PIN_CRYPTTRIDESECB WFS_PIN_CRYPTTRIDESCBC WFS_PIN_CRYPTTRIDESMAC
其中,WFS_PIN_CRYPTTRIDESMAC算法必须符合银联的3DES算法规定。
fwPinFormats
必须至少包含下表所列格式 WFS_PIN_FORM3624 WFS_PIN_FORMANSI WFS_PIN_FORMISO0 WFS_PIN_FORMISO1 WFS_PIN_FORMECI2 WFS_PIN_FORMECI3 WFS_PIN_FORMVISA WFS_PIN_FORMDIEBOL WFS_PIN_FORMDIEBOLCO
WFS_INF_PIN_FUNCKEY_DETAIL PINPAD上必须包含以下按键:数字0到数字9,小数点,ENTER,CANCEL。此外,CLEAR与BACKSPACE两个按键必须至少存在一个。还必须包含FDK01到FDK08八个功能键。 所有按键对应的返回值键码,均应采用本对照表。 ulFuncMask 返回值 WFS_PIN_FK_0 WFS_PIN_FK_1 数字0 数字1 键 WFS_PIN_FK_2 WFS_PIN_FK_3 WFS_PIN_FK_4 WFS_PIN_FK_5 WFS_PIN_FK_6 WFS_PIN_FK_7 WFS_PIN_FK_8 WFS_PIN_FK_9 WFS_PIN_FK_ENTER WFS_PIN_FK_CANCEL WFS_PIN_FK_CLEAR WFS_PIN_FK_BACKSPACE WFS_PIN_FK_HELP WFS_PIN_FK_DECPOINT WFS_PIN_FK_00 WFS_PIN_FK_000 功能键说明 屏幕第一个按键 左侧 第二个按键 第三个按键 第四个按键 屏幕第一个按键 右侧 第二个按键 第三个按键 第四个按键 数字2 数字3 数字4 数字5 数字6 数字7 数字8 数字9 ENTER CANCEL CLEAR BACKSPACE HELP 小数点 00 000 返回值 WFS_PIN_FK_FDK01 WFS_PIN_FK_FDK02 WFS_PIN_FK_FDK03 WFS_PIN_FK_FDK04 WFS_PIN_FK_FDK05 WFS_PIN_FK_FDK06 WFS_PIN_FK_FDK07 WFS_PIN_FK_FDK08 备注 此表中所指方向是以面向屏幕表示,按键序号从上往下排列
WFS_CMD_PIN_GET_PIN ulActiveFDKs
如激活了CLEAR键,则按下CLEAR键将清空PIN Buffer
ulActiveKeys
如设备支持双零键“00”或三零键“000”。调用此命令时激活了双零键或三零键,则命令失败,返回WFS_ERR_PIN_KEYINVALID
WFS_CMD_PIN_INITIALIZATION
在应用程序中不会调用此命令。因此厂商应在安装设备sp时进行加密模块的初始化,或者在应用程序第一次调用WFS_CMD_PIN_IMPORT_KEY命令时自动进行初始化。
5.2 TTU
TTU为可选设备,但如果自助设备上配置了TTU,则必须满足如下要求: TTU屏幕必须至少为16行×32列。
TTU上必须至少配置从0到9十个数字键,以及ENTER、CANCEL、CLEAR键。允许有其他按键。
TTU必须支持UNICODE,必须支持显示中文。 TTU必须至少支持下表中列出的命令: Info Commands WFS_INF_TTU_STATUS WFS_INF_TTU_CAPABILITIES WFS_INF_TTU_KEY_DETAIL Execute Commands WFS_CMD_TTU_BEEP WFS_CMD_TTU_CLEARSCREEN WFS_CMD_TTU_DISPLIGHT WFS_CMD_TTU_SET_LED WFS_CMD_TTU_SET_RESOLUTION WFS_CMD_TTU_WRITE_FORM WFS_CMD_TTU_READ_FORM WFS_CMD_TTU_WRITE WFS_CMD_TTU_READ WFS_CMD_TTU_RESET WFS_INF_TTU_STATUS fwDevice
当设备正在执行Execute Command时处于WFS_TTU_DEVBUSY状态,此时所有的Info Command命令均应立即返回正确信息。
WFS_CMD_TTU_CLEARSCREEN
当屏幕上显示中文信息时,如果一个中文字符显示为两个ASCII字符的宽度,且此命令的参数指定的清屏范围将截断某一个中文字符,则执行此命令应将整个中文字符清除,不能出现将中文字符截断一半显示乱码的情况。
WFS_CMD_TTU_WRITE
如果在TTU上一个中文显示为两个ASCII字符的宽度,且此命令执行时将覆盖屏幕上原有的文字,则执行此命令后,应覆盖整个中文字符,不应出现将中文字符截断一半显示乱码的情况。
5.3 VDM
自助设备必须支持VDM。
VDM必须支持下表中列出的命令: Info Commands WFS_INF_VDM_STATUS Execute Commands WFS_CMD_VDM_ENTER_MODE_REQ