农行国际卡应用密码机开发手册.doc_第1页
农行国际卡应用密码机开发手册.doc_第2页
农行国际卡应用密码机开发手册.doc_第3页
农行国际卡应用密码机开发手册.doc_第4页
农行国际卡应用密码机开发手册.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 第第 1 章章农行国际卡应用密码机密钥说明农行国际卡应用密码机密钥说明3 第第 2 章章密码机消息格式密码机消息格式4 1.TCP/IP 通讯.4 2.异步通讯4 3.接收缓冲区5 4.读写方式5 5.字母缩写说明5 6.MAC 数据说明5 第第 3 章章农行国际卡应用密码机指令说明农行国际卡应用密码机指令说明6 7.读密码机信息(HR/HS)6 8.*获取授权(AG/AH)7 9.取消授权(AC/AD).8 10.#输入一个密钥,用 MK 加密输出(1A/1B).9 11.生成随机密钥,并用 MK 加密输出(1C/1D)10 12.#用密的成份合成工作密钥(GY/GZ).11 13.在 MK 及 KEK 加密的密钥之间的转换(1E/1F).12 14.存储一个 MK 加密的密钥至指定的索引位置(2A/2B)13 15.读取一个指定的索引的密钥(2C/2D) 14 16.生成密钥的校验值(3A/3B) 15 17.检查一个指定索引号的密钥状态(3C/3D) 16 18.由密码机产生一个随机数(RA/RB)17 19.#加密一个 PIN(60/61) 18 20.转换 PIN 从一个区域到另一个区域(62/63).19 21.#解密一个 PIN(68/69) 20 22.产生 MAC(80/81) 21 23.验证 MAC(82/83) 22 24.生成 VISA CVV(90/91)23 25.生成 VISA PVV(92/93).24 26.生成 VISA PVV(94/95).25 27.用 IBM 方式派生 PIN 块(EE/EF) 26 28.产生一个随机 PIN(JA/JB) 28 29.产用一个 IBM PIN OFFSET(DE/DF).29 30.用 IBM 方式验证 PIN(EA/EB) 30 31.#加密/解密数据块(7A/7B)32 32.加密/解密数据块(7C/7D)34 33.*设置打印口(设置打印口(CA/CB).35 34.定义打印格式(定义打印格式(PA/PB)37 35.#产生并打印密钥(产生并打印密钥(NE/NF)38 1.#打印打印 PIN 及请求密码信封(及请求密码信封(PE/PF)40 2.校验校验 PIN 和请求密码信封(和请求密码信封(PG/PH).42 3.#打印请求密码信封(打印请求密码信封(OA/OB).43 4.校验请求密码信封(校验请求密码信封(RC/RD).44 5.#处理请求密码信封数据(处理请求密码信封数据(QC/QD).45 6.用用 IBM 方式验证方式验证 PIN(XA/XB).47 7.用 IBM 方式产生 PIN OFFSET(XC/XD) 49 8.用 IBM 方式派生 PIN 块(XE/XF) .51 第第 4 章章PIN 块格式块格式52 9.格式 01.52 10.格式 02.52 11.格式 03.52 12.格式 04.52 13.格式 05.53 14.格式 06.53 第第 5 章章打印格式定义字符打印格式定义字符54 第第 6 章章算法说明算法说明55 15.64 比特密钥 DES 加/解密55 16.128 比特密钥 DES 加/解密55 17.192 比特密钥 DES 加/解密56 18.XOR MAC 算法56 19.ANSI X9.9MAC 算法57 20.ANSI X9.19 MAC 算法描述:.57 第第 7 章章错误代码表错误代码表59 第 1 章 农行国际卡应用密码机密钥说明 为了满足 VISA/MasterCard 国际信用卡组织新的密钥长度需求,按农行国际卡项目 需求的新的金融数据密码机密钥空间不再区分 BMK 和 TMK。所有存储在密码机中的密钥 均按统一的密钥索引号分配,索引号取值范围从 K000 至 KFFF 共 4096 个密钥空间。 每个密钥索引号均可保存单、双、三倍长密钥。 保存在密码机中的密钥必须符合奇校验。 密钥空间分配如下图所示: 索引号单倍长密钥双倍长密钥三倍长密钥备注 K000XXXXXXXXXXXXXXXXFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 单倍长密钥 K001XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXFFFFFFFFFFFFFFFF 双倍长密钥 K002XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 三倍长密钥 K003 K009 K00A K00B K00F K010 K011 KFFF 本命令集支持两种密钥访问方式:(1)由索引号指定,此时密钥存放在密码机中; (2)外部带入密钥,此时密钥以密文方式存放在密码机外部。为了区分密钥长度,所有密 钥前都带有密钥长度标识。如果密钥长度后第个字节为 K,则随后的三个十六进制数代 表密钥索引号,否则,密码机按长度标识指定的长度在命令中取相应长度的十六进制数作 为密钥(16 字节、32 字节或 48 字节)。 长密钥可作短密钥使用,即:(1)三倍长密钥可取其前面部分,用作单倍长密钥和 双倍长密钥;(2)双倍长密钥可取其左半部分,用作单倍长密钥。但是短密钥不可作为长 密钥使用。 第 2 章 密码机消息格式 1.TCP/IP 通讯 命令格式: 消息长度(2 字节)+ 消息内容(n 字节) 2 字节长度:【消息内容】的字节数 消息内容:按命令格式组织的消息包 例如,要发送的消息包为 0x31, 0x32 两字节,则向密码机发送的内容为: 0x00, 0x02, 0x31, 0x32 注意:如果采用 EBCDIC 码进行通信,只有消息内容要做 EBCDIC 码转换。 例如发送指令:SR ASCII 发送方式为:0X000X020X530X52 EBCEID 发送方式为:0X000X020XE20XD9 2.异步通讯 消息格式: STX:起始标志,一个字节,值为 X02。 COUNT: 两字节的十六进制值。 表示 DATA 的字节长度,不包括 STX、COUNT、LRC、ETX。 DATA:按命令格式组织的消息包。 LRC:一个字节的检查值,是 DATA 所有字节异或的结果。 不包括 STX、COUNT、LRC、ETX。 ETX:结束标志,一个字节,值为 X03。 通信参数:波特率 19200bps,8 位数据位,1 位停止位,无奇偶校验位。 注意:如果采用 EBCDIC 码进行通信,只有【DATA】要做 EBCDIC 码转换,并且 STXCOUNTDATALRCETX 此转换应在校验过 LRC 之后进行。 3.接收缓冲区 密码机的接收缓冲区大小为 8704 字节。所以每次发送给密码机的消息不能大于 8704 字节。 4.读写方式 对异步通讯和 TCP/IP 通讯,都采用同步读写方式。即:密码机处理完一个命令,才 接收下一个命令。 5.字母缩写说明 A:可打印字符 B:任意字符,0x00-0xFF H:十六进制字符09、AF N:十进制字符0-9 n:可变长度域 6.MAC 数据说明 MAC 数据的长度不应大于 8192 字节。 第 3 章 农行国际卡应用密码机指令说明 7.读密码机信息(HR/HS) 本指令测试密码机硬件状态,并将主密钥 MK 校验值及密码机版本信息返回。 如果主密钥没设置,只返回错误代和版本信息,不返回主密钥校验值。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AHR 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2AHS 错 误 代 码2H00 表示正确 主密钥校验值16H主密钥加密全0的结果 版本信息nB返回密码机程序版本号等信息 8.*获取授权(AG/AH) 口令验证正确后,密码机进入授权状态。 密码机授权时必须插入 C 卡。 某些指令只有在授权状态下才能使用。 该命令通过密钥管理端口实现!该命令通过密钥管理端口实现! 密码机的出厂口令为“FFFFFFFF” 。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AAG 口令长度2N0116 密码机口令nA0 9, A Z 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2AAH 错 误 代 码2H00 表示正确 9.取消授权(AC/AD) 使密码机退出授权状态。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AAC 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2AAD 错 误 代 码2H00 表示正确 10. #输入一个密钥,用 MK 加密输出(1A/1B) 将密钥明文转换成符合奇校验后再用 MK 加密输出。 如果指定了索引号,还要将此密钥存放在密码机中。 该命令要在授权状态下才会正确执行。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“1A” 密钥长度标志 1N 值“1”单倍长(64bits) ; 值“2”双倍长(128bits) ; 值“3”三倍长(192bits) ; 密钥明文 16/32/48H 密钥长度标志为1- 16 字节 密钥长度标志为2- 32 字节 密钥长度标志为3- 48 字节 密钥索引号 1A+3HA/H 可选:如果指定了该项,则将输 入的密钥保存在指定的索引号中 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“1B” 错误码 2H 值“00”正确; 用 MK 加密的密钥 16/32/48H 密钥长度标志为1- 16 字节 密钥长度标志为2- 32 字节 密钥长度标志为3- 48 字节 密钥的校验值 16H 密钥加密 64bits 全 0 的结果 11.生成随机密钥,并用 MK 加密输出(1C/1D) 密码机生成一个指定长度的密钥,用 MK 加密后输出。 可选地将生成的密钥保存至指定的索引号中。 密码机生成的密钥符合奇校验。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“1C” 密钥长度标志 1N 值“1”单倍长(64bits) ; 值“2”双倍长(128bits) ; 值“3”三倍长(192bits) ; 密钥索引号 1A+3HA 可选:如果指定了该项,则生成 的密钥保存在指定的索引号中 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“1D” 错误码 2H 值“00”正确; 用 MK 加密后输出的 随机密钥 16/32/48H 密钥长度标志为1- 16 字节 密钥长度标志为2- 32 字节 密钥长度标志为3- 48 字节 密钥的校验值 16H 密钥加密 64bits 全 0 的结果 12.#用密的成份合成工作密钥(GY/GZ) 所有分量的明文异或,再加上奇校验位,形成最后的工作密钥。 如果指定了索引号,还要将密钥写到密码机中。 该命令要在授权状态下才会正确执行。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AGY 工作密钥长度1N 值“1”单倍长(64bits) ; 值“2”双倍长(128bits) ; 值“3”三倍长(192bits) ; 密钥分量个数1N 1-9 密钥分量 132H密钥的分量 密钥分量 232H密钥的分量 密钥分量 N32H密钥的分量 工作密钥索引4H KXXX 可选:如果指定了该项,则生 成的密钥保存在指定的索引号 中 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2AGZ 错 误 代 码2H00 表示正确 密钥的密文 16/32/48 H用主密钥加密 密钥的校验值16H 13.在 MK 及 KEK 加密的密钥之间的转换(1E/1F) 本指令将用 MK(加密机本地主密钥)下加密的密钥转换至 KEK 下加密或将用 KEK 下 加密的密钥转换至 MK 下加密。可选地保存至指定的索引号中。 注意:如果密钥的明文不符合奇校验,将其转换成符合奇校验。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“1E” 转换方式 1N 1:从 MK 加密到 KEK 加密 2:从 KEK 加密到 MK 加密 KEK 长度 1N 1:单 DES 2:双 DES 3:三 DES KEK 索引或 KEK 1A+3H/16/3 2/48 A/H KEK 索引:K+3N 或 MK 加密下的 KEK WK 长度 1N 1:单 DES 2:双 DES 3:三 DES WK 密文 16/32/48H MK 或 KEK 加密下的密文 保存的密钥索引号保存的密钥索引号 1A+3H1A+3HA A 如果该字段存在,转换后的密钥如果该字段存在,转换后的密钥 保存至该索引号中保存至该索引号中 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2 A“1F” 错 误 码 2H WK 密文 16/32/48H 转换后 KEK 或 MK 加密下的 WK WK 校验值 16H WK 的校验值 14.存储一个 MK 加密的密钥至指定的索引位置(2A/2B) 功能:将一个由 MK 加密的指定长度的密钥存放到密码机中指定的位置上。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令2A2A 索引号1A+3HA密钥在密码机中要存放的位 置(如:K001) 密钥长度1N 1- Single, 2- Double , 3- Triple 密钥16/32/48H由 MK 加密的密钥 (1)当长度=1 时为 16 字节 (2)当长度=2 时为 32 字节 (3)当长度=3 时为 48 字节 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码2A2B 错 误 代 码2N 校验值16H单、双、三倍长密钥加密 64BITS 全 0 的结果。 15.读取一个指定的索引的密钥(2C/2D) 功能:从密码机中读取一个密钥,由主密钥加密导出。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令2A2C 索引号1A+3HA密钥在密码机中要存放的位 置(如:K001) 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码2A2D 错 误 代 码2N 密钥长度1N 密钥密文16/32/48H用主密钥加密的工作密钥密 文 校验值16H单、双、三倍长密钥加密 64BITS 全 0 的结果。 16.生成密钥的校验值(3A/3B) 功能:生成一个在密码机中指定索引位置上的密钥的校验值或生成一个输入密钥的校 验值。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令2A3A 密 钥 长 度1N 1- Single, 2- Double , 3- Triple 索引号/密钥密文1A+3H/16/ 32/48 A/H密钥在密码机中所存放的位 置或由 MK 加密的密钥 (1)当长度=1 时为 16 字节 (2)当长度=2 时为 32 字节 (3)当长度=3 时为 48 字节 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码2A3B 错 误 代 码2H 校验值16H单、双、三倍长密钥加密 64BITS 全 0 的结果。 17.检查一个指定索引号的密钥状态(3C/3D) 检查一个指定索引号的密钥状态,返回密钥长度及校验值。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“3C” 密钥索引号 1A+3HA 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“3D” 错误码 2H 值“00”正确; 密钥长度 1N 值“1”单倍长(64bits) ; 值“2”双倍长(128bits) ; 值“3”三倍长(192bits) ; 密钥的校验值 16H 指定索引的密钥加密 64bits 全 0 的结果 18.由密码机产生一个随机数(RA/RB) 功能:由密码机产生一个指定长度的随机数; 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令2ARA 随机数长度3N随机数的字符长度随机数的字符长度 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码2ARB 错 误 代 码2H当 Erron=00 表示正确 随机数NH 19.#加密一个 PIN(60/61) 加密一个明文的 PIN,并输出指定格式(01-06)的 PIN 密码块。 该命令要在授权状态下才会正确执行。 输输 入入 消消 息息 格格 式式 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“61” 错 误 码 2H 错 误 码 加密后的 PIN 块 16H 用 PIK 密钥加密后的 PIN 块 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“60” 密钥长度 1N1- Single, 2- Double , 3- Triple 密钥索引号 或 MK 加密下的密钥 的密文 1A+3H/16H/ 32H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 PIN 块的格式 2N01-06 PIN 块的明文 12H 要加密的 PIN 明文,不足 12 位填 充 F。如 123456FFFFFF。 账号12 或 18 N 12:PIN 格式为01 18:PIN 格式为04 其它 PIN 格式无此域 20.转换 PIN 从一个区域到另一个区域(62/63) 密码机将输入的 PIN 块的密文用密钥 1 解密,进行格式转换后,用密钥 2 加密输出。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“62” 密钥1 长度 1N1- Single, 2- Double , 3- Triple 密钥1 索引号 1A+3H/16H /32H/48H A/H 密钥1 索引号 密钥2 长度 1N1- Single, 2- Double , 3- Triple 密钥2 索引号 1A+3H/16H /32H/48H A/H 密钥2 索引号 源 PIN 格式 2N01-06 目的 PIN 格式 2N01-06 PIN 块密文 16H 账号 12 or 18N 12:PIN 格式为01 18:PIN 格式为04 其它 PIN 格式无此域 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“63” 错 误 码 2H 加密后的 PIN 16H 用密钥 2 加密后的目的 PIN 块 21.#解密一个 PIN(68/69) 解密一个指定格式(0106)的 PIN 密码块,并输出明文的 PIN。 该命令要在授权状态下才会正确执行。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“68” 密钥长度 1N1- Single, 2- Double , 3- Triple 密钥索引号 或 MK 加密下的密钥的 密文 1A+3H/16H /32H/48H A/H 用于解密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 PIN 块的格式 2N01-06 PIN 块的密文 16H 将要解密的 PIN 的密文 账号 12 or 18N 12:PIN 格式为01 18:PIN 格式为04 其它 PIN 格式无此域 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“69” 错 误 码 2H 错 误 码 PIN 块明文 12H PIN 明文长度不足 12 字节时,右 面填充 F。如:123456FFFFFF 22.产生 MAC(80/81) 密码机用指定长度的或指定索引的 MAK 密钥产生一个指定算法的 MAC。 注意:注意: XORXOR MACMAC 支持密钥长度可从单倍长、双倍长到三倍长。支持密钥长度可从单倍长、双倍长到三倍长。 ANSIANSI X9.9X9.9 支持单倍长密钥。支持单倍长密钥。 ANSIANSI X9.19X9.19 只支持双倍长密钥。只支持双倍长密钥。 其他任何组合都是非法的。其他任何组合都是非法的。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“80” 算法类型 1N 1:XOR 2:X.99 3:X9.19 MAK 长度 1N 1:单 DES 2:双 DES 3:三 DES MAK 索引或 MAK 1A+3H/16 /32/48 A/H MAC 索引:K+3N 或 MK 加密下的 MAK MAC 数据的长度 4N 输入的 MAC 数据的字节数, 应小于 8192 输入 MAC 数据 NB 用来计算 MAC 的数据 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2 A“81” 错 误 码 2H MAC16H 23.验证 MAC(82/83) 输入一个 MAC 和相应的数据。密码机计算输入数据的 MAC,并与输入的 MAC 比较是否 相等。 注意:注意: XORXOR MACMAC 支持密钥长度可从单倍长、双倍长到三倍长。支持密钥长度可从单倍长、双倍长到三倍长。 ANSIANSI X9.9X9.9 支持单倍长密钥。支持单倍长密钥。 ANSIANSI X9.19X9.19 只支持双倍长密钥。只支持双倍长密钥。 其他任何组合都是非法的。其他任何组合都是非法的。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“82” 算法类型 1N 1:XOR 2:X.99 3:X9.19 MAK 长度 1N 1:单 DES 2:双 DES 3:三 DES MAK 索引或 MAK 1A+3H/16/3 2/48 A/H MAC 索引:K+3N 或 MK 加密下的 MAK MAC 值 8H 待校验的 MAC MAC 数据的长度 4N 输入的 MAC 数据的字节数 输入 MAC 数据 NB 用来计算 MAC 的数据 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2 A“83” 错 误 码 2H 24.生成 VISA CVV(90/91) 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“90” CVK 索引号 1A+3H/32H A/H 用于产生 CVV 的密钥对的索引 号 或在 MK 加密下的密文 PAN(或附加信息) nN 客户原始账号 分隔符 1AValue ; 有效期 4N 卡有效期 服务代码 3N 卡服务约束代码 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“91” 错 误 码 2H CVV3N CVV 值 25.生成 VISA PVV(92/93) 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“92” PVK 索引号 1A+3H/32H A/H 用于产生 PVV 的密钥对的索引 号 或在 MK 加密下的密文 PVKI1H VISA 要求取值0-6,密码机 无此限制 PIK 密钥长度 1N1- Single, 2- Double , 3- Triple PIK 索引号 1A+3H/16H /32H/48H A/H 用于加密 PIN 的 PIK 的索引号 PIN 块的格式 2N01-06 PIN BLOCK16H 用 PIK 加密的标准 PIN 块 账号 12/18N 12:01 (客户原始账号右 12 位除去校验位) 18:04 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“93” 错 误 码 2H 错 误 码 PVV4N 26.生成 VISA PVV(94/95) 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“94” PVK 索引号 1A+3H/32H A/H 用于产生 PVV 的密钥对的索引 号 或在 MK 加密下的密文 PVKI1H VISA 要求取值0-6,密码机 无此限制 PIK 密钥长度 1N1- Single, 2- Double , 3- Triple PIK 索引号 1A+3H/16H /32H/48H A/H 用于加密 PIN 的 PIK 的索引号 PIN 块的格式 2N01-06 PIN BLOCK16H 用 PIK 加密的标准 PIN 块 账号 12/18N 12:01 (客户原始账号右 12 位除去校验位) 18:04 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“95” 错 误 码 2H 错 误 码 PVV4N 用所有 PIN 参与运算得到的 PVV BLOCK=(最右账号+PVKI+PIN) 27.用 IBM 方式派生 PIN 块(EE/EF) 用 IBM 方式产生一个 412 位的 PIN,并以 PIN 块的形式输出。 如果没有输入 OFFSET,密码机将产生一个随机的 OFFSET。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“EE” PVK 密钥长度 1N1- Single, 2- Double , 3- Triple PVK 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥 MK 下加密的 PVK 密钥 OFFSET12N 值“0000FFFFFFFF” ; 如果有 OFFSET,则左对齐,后面 加 F 补足 12 位。 检查长度 2N 最小 PIN 长度(4-12) 十进制表 16N 用于将 16 进制转换为 10 进制 PIN 确认数据 12A 用户自定义。 由十六进制字符和字符 N 组成, 用于指示最后 5 位账号的插入位 置。 PIN 密钥长度 1N1- Single, 2- Double , 3- Triple PIN 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥加密的 PIN 块加密密钥 PIN 块的格式 2N01-06 输出的 PIN 块格式 账号 12/18N 18:04 12:其它(客户原始账号右 12 位除去校验位) 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“EF” 错误码 2H PIN 块密文 16H 用 PIN 密钥加密 28.产生一个随机 PIN(JA/JB) 产生一个 412 位的 PIN,并以 PIN 块的方式加密输出。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“JA” 要产生的 PIN 长度 2N 0412 PIN 密钥长度 1N1- Single, 2- Double , 3- Triple PIN 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥加密的 PIN 块加密密钥 PIN 块的格式 2N01-06 输出的 PIN 块格式 账号 12/18N 12:01 (客户原始账号右 12 位除去校验位) 18:04 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“JB” 错误码 2H PIN 块密文 16H 用 PIN 密钥加密 29.产用一个 IBM PIN OFFSET(DE/DF) 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“DE” PIN 密钥长度 1N1- Single, 2- Double , 3- Triple PIN 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥加密的 PIN 块加密密钥 PIN 块的格式 2N01-06 输入的 PIN 块格式 PIN 块密文 16H 用 PIN 密钥加密 PVK 密钥长度 1N1- Single, 2- Double , 3- Triple PVK 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥 MK 下加密的 PVK 密钥 检查长度 2N 最小 PIN 长度 十进制表 16N 用于将 16 进制转换为 10 进制 PIN 确认数据 12A 用户自定义。 由十六进制字符和字符 N 组成, 用于指示最后 5 位账号的插入位 置。 账号 12/18N 12:01 (客户原始账号右 12 位除去校验位) 18:04 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“DF” 错误码 2H OFFSET12H OFFSET 左对齐,后面加 F 补足 12 位。 30.用 IBM 方式验证 PIN(EA/EB) 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“EA” PIN 密钥长度 1N1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16 /32/48 A/H 密钥索引号或主密钥 MK 下加密的 PIN 密钥 PVK 密钥长度 1N1- Single, 2- Double , 3- Triple PVK 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥 MK 下加密的 PVK 密钥 最大 PIN 长度 2N 值 12 PIN 块密文 16H 用 PIN 密钥加密 PIN 块格式 2N 0106 检查长度 2N 最小 PIN 长度 账号 12/18N 12:01 (客户原始账号右 12 位除去校验位) 18:04 十进制表 16N 用于将 16 进制转换为 10 进制 PIN 确认数据 12A 用户自定义。 由十六进制字符和字符 N 组成, 用于指示最后 5 位账号的插入位 置。 OFFSET12H OFFSET 左对齐,后面加 F 补足 12 位。 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“EB” 错误码 2H 31.#加密/解密数据块(7A/7B) 按指定的算法及指定长度的密钥加密/解密指定长度的数据块。 该命令要在授权状态下才会正确执行。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“7A” 密码算法应用方式 标志 1N 值“1”ECB 方式; 值“2”CBC 方式; 值“3”CFB 方式; 值“4”OFB 方式; 加/解密标志 1N 值“1”加密; 值“0”解密; 密钥长度标志 1N 值“1”单倍长(64bits) ; 值“2”双倍长(128bits) ; 值“3”三倍长(192bits) ; 密钥索引号 1A+3H/16 /32/48 A/H 密钥索引号或主密钥 MK 下加密 的密钥 初始向量 16H 当算法标志为 2、3、4 时有此 项 明文数据块长度 4N 必须为 8 的倍数 数据块 n*8B 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“7B” 错误码 2H 加密/解密后的数据 块 n*8B 加 密解 密 ECBCi = EK(Pi)Pi = DK(Ci) CBCCi = EK(PiCi-1) + Pi = Ci-1DK(Ci) + CFBCi = Pi EK(Ci-1) + Pi = Ci EK(Ci-1) + OFBCi = Pi Si + Si = EK(Si-1) Pi = Ci Si + Si = EK(Si-1) 说明: P:明文C:密文:异或 + E:加密D:解密K:密钥 32.加密/解密数据块(7C/7D) 用固定的算法对报文进行加、解密,不需要密钥。要求不改变报文长度。 输输 入入 消消 息息 格格 式式 输输 入入 域域长长 度度类类 型型内内 容容 命 令 2A 值“7C” 加/解密标志 1N 值“1”加密; 值“0”解密; 明文数据块长度 4N 数据块 nB 输输 出出 消消 息息 格格 式式 输输 出出 域域长长 度度类类 型型内内 容容 应 答 码 2A“7D” 错误码 2H 加密/解密后的数据 块 nB 必须与输入的报文长度相同 33.*设置打印口(设置打印口(CA/CB) 打印端口缺省设置为:9600bps,8 位数据,1 位停止位,无奇偶校验位。 打印延时缺省设置为:30 毫秒。 应答方式缺省设置为:打印前应答一次,打印后再应答一次 密码机不保存该指令进行的设置,在密码机复位后,恢复为缺省设置。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2ACA 标志1N固定值4 波特率1N 0:1200 1:2400 2:4800 3:9600 4:19200 5:38400 6:57600 7:115200 数据位1N5、6、7、8 奇偶校验位1N 0:无:无 1:奇校验(ODD) 2:偶校验(EVEN) 停止位1N 1:1 位位 2:2 位 3:1.5 位 注意:数据位应与停止位匹配。 如果出现无效组合,可能会不 正常。 打印延时4N 毫秒数。 由于通信速度一般大于打印速 度,所以每打印一行要加一定 的延时,否则有的打印机不能 正常打印。 应答方式1N 1:打印后应答 2:打印前应答一次,打印后再:打印前应答一次,打印后再 应答一次应答一次 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2ACB 错 误 代 码2H00 表示正确 34.定义打印格式(定义打印格式(PA/PB) 打印格式定义字符请参见打印格式定义字符 。 密码机不保存该指令进行的设置,在密码机复位后,打印格式必须重新设置。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2APA 打印格式nA 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2APB 错 误 代 码2H00 表示正确 35.#产生并打印密钥(产生并打印密钥(NE/NF) (1) 密码机必须在授权状态;(2)打印机己经接好,并就绪;(3)打印格式已经定义。 对于单倍长密钥,在打印格式中P 代表左半,Q 代表右半。 对于两倍长密钥,在打印格式中P 代表左边的 64 比特密钥,Q 代表右边的 64 比特 密钥。 对于三倍长密钥,在打印格式中P 代表左边的 64 比特密钥,Q 代表中间的 64 比特 密钥,R 代表右边的 64 比特密钥。 T 代表密钥的检查值。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2ANE 密钥长度1N 值“1”:单倍长(64bits) ; 值“2”:双倍长(128bits) ; 值“3”:三倍长(192bits) ; 打印域 0nA不能含有分号 分隔符1A值; 打印域 1nA 不能含有分号 每个域最多含 80 个字符。 分隔符1A值; 。 。 。nA 。 。 。1A 最后一个打印域nA不能含有分号 输 出 消 息 格 式 打印前的响应 输 出 域长 度类 型内 容 应 答 码2ANF 错 误 代 码2H00 表示正确 密钥密文 16/32/48 H用主密钥加密的密钥密文 检查值 16 H密钥的检查值 打印后的响应 输 出 域长 度类 型内 容 应 答 码2ANZ 错 误 代 码2H00 表示正确 1.#打印打印 PIN 及请求密码信封(及请求密码信封(PE/PF) (1)密码机必须在授权状态;(2)打印机己经接好,并就绪;(3)打印格式已经定义。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2APE 信封格式1N A : 双信封的第一个密码信封 B : 双信封的第二个密码信封 C : 单信封. PIN 密钥长度1N 1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16H/3 2H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 PIN 格式2N PIN 块16H 账号12/18如果是格式 04,账号为 18 位 打印域 0nA不能含有分号 分隔符1A值; 打印域 1nA不能含有分号 分隔符1A值; 。 。 。nA 。 。 。1A 最后一个打印域nA不能含有分号 输 出 消 息 格 式 打印前的响应 输 出 域长 度类 型内 容 应 答 码2APF 错 误 代 码2H00 表示正确 PIN 参考值12N用 PIN 密钥变种加密 账号参考值 12 N用 PIN 密钥变种加密 打印后的响应 输 出 域长 度类 型内 容 应 答 码2APZ 错 误 代 码2H00 表示正确 2.校验校验 PIN 和请求密码信封(和请求密码信封(PG/PH) 校验 PE 命令的结果 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2APG PIN 密钥长度1N 1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16H/3 2H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 PIN 格式2N PIN 块16H 账号12/18N如果是格式 04,账号为 18 位 PIN 参考数12N用 PIN 密钥变种加密 账号参考数 12 N用 PIN 密钥变种加密 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2APH 错 误 代 码2H00 表示正确 3.#打印请求密码信封(打印请求密码信封(OA/OB) (1)密码机必须在授权状态;(2)打印机己经接好,并就绪;(3)打印格式已经定义。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AOA 信封格式1N A : 双信封的第一个密码信封 B : 双信封的第二个密码信封 C : 单信封. PIN 密钥长度1N 1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16H/3 2H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 账号12最后 12 位账号,不含检查位 打印域 0nA不能含有分号 分隔符1A值; 打印域 1nA不能含有分号 分隔符1A值; 。 。 。nA 。 。 。1A 最后一个打印域nA不能含有分号 输 出 消 息 格 式 打印前的响应 输 出 域长 度类 型内 容 应 答 码2AOB 错 误 代 码2H00 表示正确 账号参考数 12 N用 PIN 密钥变种加密 打印后的响应 输 出 域长 度类 型内 容 应 答 码2AOZ 错 误 代 码2H00 表示正确 4.校验请求密码信封(校验请求密码信封(RC/RD) 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2ARC PIN 密钥长度1N 1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16H/3 2H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 账号12 账号参考值 12 N 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2ARD 错 误 代 码2H00 表示正确 5.#处理请求密码信封数据(处理请求密码信封数据(QC/QD) 处理 1-300 个请求密码信封数据。 密码机必须在授权状态。 输 入 消 息 格 式 输 入 域长 度类 型内 容 命令代码2AQC PIN 密钥长度1N 1- Single, 2- Double , 3- Triple PIN 密钥 1A+3H/16H/3 2H/48H A/H 用于加密 PIN 的密钥的索引号 或 MK 加密下的密钥的密文 PIN 明文 112N 用户选择的 PIN,如不足 12 位, 左对齐,后补F 账号参考值 1 12 N 分隔符 1 A Value ; PIN 明文 212N 用户选择的 PIN,如不足 12 位, 左对齐,后补F 账号参考值 2 12 N 分隔符 1 A Value ; PIN 明文 n12N 用户选择的 PIN,如不足 12 位, 左对齐,后补F 账号参考值 n 12 N 输 出 消 息 格 式 输 出 域长 度类 型内 容 应 答 码2AQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论