《工行银企互联开发手册》由会员分享,可在线阅读,更多相关《工行银企互联开发手册(18页珍藏版)》请在金锄头文库上搜索。
1、第1章概述银企互联面向大的集团客户,提供与企业ERP系统直连的平台,银企互联面向大的集团客户,提供与企业ERP系统直连的平台,为工行的现金管理服务提供多渠道和客户化支 持。企业ERP系统通过HTTPS协议与工行系统进行连接并向银企互联前置发送数据,数 据的接口格式使用标准的 xml数据格式,但双方通讯的过程中则需要遵守下文描述的规定。 银企互联前置接到企业数据后进行一系列的检查后完成交易,并将处理结果以企业便于处 理的形式返回给企业。HTTPS协议。在安全保证方面,通讯层的安全保证是企业如需使用银企互联系统,要办理有关注册手续,并审领证书。ID检查收付方帐号等合法性,以保证所提交指令在权限允许
2、范企业进行结算类交易时,如果涉及到授权过程,企业需要在企业网银系统中完成相关 授权动作。银企互连系统将企业提交的支付指令或者授权成功后的指令当作最终转账指 令,根据提交指令的证书 围内进行操作。第2章总体方案介绍2.1总体网络结构图上图企业ERP系统1采用的是非NC方式接入的客户;企业 ERP系统2采用的是NC方式 接入的客户;2.2企业端安全服务器简介如下图所示(假设1为加密端口,它有两个可以配置的端口分别用于加密和签名/验签服务,2为签名/验签端口)。1. httP交易请求包(加密)2.交易结果NetSafeClienthttps交易请求包1.签名/验签请求2.签名/验签结果(签名/验签)
3、数据全部由NetSafe Client负责转发,使NetSafe Client成为架设在企业现场的工行接入服务器。而企业与工行之间安全的连接,由NetSafe Client和工行安全代httP 协议向 NetSafe Client企业向工行提交的交易数据,必须通过企业方的NetSafe Client进行与工行服务器的连接,接口确定需要签名的数据也必须由NetSafe Client的签名服务器签名具体使用时,企业应用向工行提交交易请求时,可以依照的端口1发送请求。接到请求后,NetSafe Client使用企业证书将 http请求包转换成https请求包发往工行端服务器;如果需要对某些交易数据进
4、行签名,则企业应用需要与签名端口建 立Socket连接并将待签名数据发往端口 2,然后接收端口 2的签名结果,之后再将包含签名信息的交易请求发往端口1而完成整个交易请求过程。对签名还是验签名请求的区分则是通过http包头来进行。Content-Type:INFOSEC_SIGN/1.0 和 Content-Type: INFOSEC_VERIFY_SIGN/1.0 分别用于标识签名请求 和验签名请求,而 Content-Type: INFOSEC_SIGN_RESULT/1.0 和 Content-Type:INFOSEC_VERIFY_SIGN_RESULT/1.0 分别用于标识签名和验签名
5、的返回结果。NetSafe为方便起见,可以将 NetSafe Client的两个服务端口逻辑地称为两台服务器,Client的加密服务器和签名服务器。2.3安全控制介绍对于NC方式接入的客户后组成规定的数据包格式后,通过NetSafe Client提交工行,这样可以保证企业数据以及相关信息不被恶意篡改。理服务器 NetSafe 保证; 工行接收到企业提交过来的部分关键交易数据后,需要解密并验证企业的数字 签名,以防止第三方假冒企业的行为。对于非 NC 方式接入的客户企业向工行提交交易数据时的安全控制企业 ERP 与银企互连系统之间使用 HTTPS 协议通讯。 企业可以选择是否对交易数据进行对称加
6、密,目前系统支持的算法有DES 与3DES。进行对称加密可以防止第三方截获交易的信息。而加密中需要用到的密 钥由企业与工行共同约定。 (加密功能暂不支持) 企业需要对其发送的指令数据进行数字签名,签名中使用的证书可以是企业证 书也可以是工行证书,其中签名使用的算法是 SHA1withRSA 。进行数字签名可 以防止第三方假冒企业的行为。工行向企业发送结果信息时的安全控制 企业 ERP 与银企互连系统之间使用 HTTPS 协议通讯。 企业可选择是否对返回数据进行对称加密,方法与上文相同。 工行对部分关键交易返回信息进行数字签名。第 3 章 重点说明所有的交易请求包中“包序列ID ”字段(Pack
7、agelD)由企业产生,产生规则为当前日期(北京时间, 格式为 yyyyMMdd ) 7位序列号 (例如 200212230000001,为 2002IDID”年 12 月 23 日发送的一个交易请求包的包序列 ID )。在一个企业代码下当日包序列必须唯一。 工行处理完毕之后将该字段原值返回, 即所有的交易返回包中 “包序列字段( PackageID )。转帐交易请求包中“签名时间”字段(SignTime),格式为yyyyMMddhhmmssSSS如 20021223092710568 ,表示 2002 年 12 月 23 日 9 点 27 分 10 秒 568 毫秒)。签名时间应为北京时间。
8、签名时间如果与交易请求到达工行服务器时的北京标准时间误差过大(暂定为 15 分钟),交易将无法进行。此措施将可以有效地防止黑客采用重放攻击进行干扰帐务活动的行为。同一笔交易如果因为网络不正常等因素需要重新提交时,要修改转账交易请求包的“签名时间字段”并重新签名。所有请求包和返回包中备用字段的使用主要是出于对今后扩展的考虑,如果以后需要求包来说这些备用字段的值可以送空;企业对银行返回包中的备用字段也不必作处增加企业上送的项目或者返回给企业的信息,不必再改变交易包格式。目前对企业请理。请求包中的备用字段标签为“ReqReserved* ”,返回包中的备用字段标签为RepReserved*”(其中*
9、为1、2、3或4,详见接口说明文档)。查询历史明细返回数据包中交易时间( )数值如为空,则说明该笔指令是银行的计息交易明细。支付查询指令接口, 方便企业对可疑、 有疑问 (如网络中断, 交易长时间没有返回等)或处理完毕的转帐指令进行查询。 企业提交要查询的结算请求的包序列 ID ,工行返回该笔转帐指令的基本信息和状态。本接口说明中所有涉及金额的字段都是以分为单位(不带小数点)如企业系统需要代理汇兑功能则企业应用需同步开发网点信息下载交易,以便为代理汇兑交易中收方为它行情况时提供工行网点名称。否则,无需开发网点信息下载交易。工行企业端证书服务器软件 NetSafe Client 需安装在一台 P
10、C 机上。在网点信息下载功能中,由于下载数据过大且数据不会经常更新,所以此交易控制了企业每日下载次数。目前暂定次数为每日 2 次。个 人联名卡签权指令只支持币种是人民币的账号/卡号。企业端传输数据时,指定 xml 编码方式为 GB2312 。银企互联提交包中包含“ 签名时间( yyyyMMddhhmmssSS)S ”此标签的,说明该交易需要进行签名处理。企业端的程序需要对银行返回的数据有可扩展性,以便适应今后业务的不断发展。NC银企互连系统支持两种接入方式,客户可以任何选择一种。第一种:使用第三方软件方式接入银企互连系统;第二种:使用非 NC 方式企业直接接入银企互连系统;面将区分两类客户分别
11、对接入方式等相关信息进行说明。第 4 章 银企互联NC方式接入客户4.1 企业端系统环境要求4.1.1软件环境对企业的 ERP 系统无要求;4.1.2网络环境企业财务系统通过局域网与工商银行提供的 NetSafe Client 连接;企业端的 NetSafe Client 可以通过专线或 INTERNET 与中国工商银行银企互连系统互联。到银行端的NetSafe Server。(本步由NetSafe Client 完成,企业无需处4.1.3企业开发过程描述4.1.3.1 企业提交交易请求数据过程企业提交的交易分为两大类:查询类和结算类(需要进行签名处理)1)1、 查询类:企业按照工行提供的 x
12、ml 包格式进行打包,在局域网内通过 http 协议以 POST 方式将交易包发送到 NetSafe Client 的安全 http 协议服务器。http 请求格式: action=”http:/ 客户端 NetSafe Client 的地址和加密端口 号 /servlet/ICBCCMPAPIReqServlet?userID= 证书 ID &PackageID= 包序 列 ID &SendTime= 请求时间 ” 请求数据格式(post方式):Version=版本号(区分版本时间,暂定0.0.0.1)&TransCode= 交易代码(区分交易类型,每个交易固定 )&BankCode=客户的
13、归属单位 &GroupCIS= 客户的归属编码 &ID= 客户的证书 ID (无 证书客户可空 )&PackageID= 客户的指令包序列号 (由客户 ERP 系统产 生,不可重复 )&Cert= 客户的证书公钥信息(进行 BASE64 编码; NC客户送空 ) &reqData= 客户的 xml 请求数据 其中:包序列ID、证书ID应根据实际情况进行更改,请求时间为企 业发出该交易请求包的当前系统时间。 post 方式最后不允许有回车等 其 他 乱 字 符 , TransCode 交 易 名 称 应 与 xml 包 内 标 签 中 的 值 一 致 , action 中 的 证 书 ID 、P
14、ackageID 与请求数据格式中的证书ID 、 PackageID 、 xml 包中的证书ID、 PackageID 的值三者相一致。NetSafe Client 将 xml 包加密后按照https 协议,通过互联网 /专线发送理);(1)企业按照工行提供的xml包格式进行打包,在局域网内与NetSafe(3)NetSafe Server将交易请求送银企互连系统进行处理。企业(1)NetSafeClie nt(2)NetSafe(3)工行Server2、结算类:Client的签名端口建立 Socket连接,通过此连接向签名端口发送http数据包。http 包头中需包含Content-Length ”和Content-Type”两 个属性。其中“ Content-Length: ”后面是需要签名的二进制数据包的 长度,“ Content-T yp e: ”后面是需要签名的标记,为INFOSEC_SIGN/1.0 。(注意大小写)http请求格式:action=”http:/客户端NetSafe Client的地址和签名端口号” 请求数据格式:结算类请求提交的xml包NetSafe Client对xml包进行签名后,通过http协议将签名结果返回给企业系统。如签名成功sign标签与/sign标签之间的部分为签名结果。NetSafe Client返回的签名包如下: 签名结果 O/re