中国工商银行银企互联系统企业开发手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 章概述
银企互联面向大的集团客户,提供与企业ERP系统直连的平台,银企互联面向大的集团客户,提供与企业ERP系统直连的平台,为工行的现金管理服务提供多渠道和客户化支持。
企业ERP系统通过HTTPS协议与工行系统进行连接并向银企互联前置发送数据,数据的接口格式使用标准的xml数据格式,但双方通讯的过程中则需要遵守下文描述的规定。银企互联前置接到企业数据后进行一系列的检查后完成交易,并将处理结果以企业便于处理的形式返回给企业。
在安全保证方面,通讯层的安全保证是HTTPS协议。
企业如需使用银企互联系统,要办理有关注册手续,并审领证书。
企业进行结算类交易时,如果涉及到授权过程,企业需要在企业网银系统中完成相关授权动作。银企互连系统将企业提交的支付指令或者授权成功后的指令当作最终转账指令,根据提交指令的证书ID检查收付方帐号等合法性,以保证所提交指令在权限允许范围内进行操作。
第 2 章总体方案介绍
2.1总体网络结构图
银企互联系统
上图企业ERP系统1采用的是非NC方式接入的客户;企业ERP系统2采用的是NC方式接入的客户;
2.2企业端安全服务器简介
此服务器只对使用NC方式接入的客户有效。企业端安全服务器被称为NetSafe Client。
它有两个可以配置的端口分别用于加密和签名/验签服务,如下图所示(假设1为加密端口,2为签名/验签端口)。
具体使用时,企业应用向工行提交交易请求时,可以依照http协议向NetSafe Client 的端口1发送请求。接到请求后,NetSafe Client使用企业证书将http请求包转换成https请求包发往工行端服务器;如果需要对某些交易数据进行签名,则企业应用需要与签名端口建立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分别用于标识签名和验签名的返回结果。
为方便起见,可以将NetSafe Client的两个服务端口逻辑地称为两台服务器,NetSafe Client的加密服务器和签名服务器。
2.3安全控制介绍
对于NC方式接入的客户
✓企业向工行提交的交易数据,必须通过企业方的NetSafe Client进行与工行服务器的连接,接口确定需要签名的数据也必须由NetSafe Client的签名服务器签名
后组成规定的数据包格式后,通过NetSafe Client提交工行,这样可以保证企业
数据以及相关信息不被恶意篡改。
✓数据全部由NetSafe Client负责转发,使NetSafe Client成为架设在企业现场的工行接入服务器。而企业与工行之间安全的连接,由NetSafe Client和工行安全代
理服务器NetSafe保证;
✓工行接收到企业提交过来的部分关键交易数据后,需要解密并验证企业的数字签名,以防止第三方假冒企业的行为。
对于非NC方式接入的客户
✓企业向工行提交交易数据时的安全控制
企业ERP与银企互连系统之间使用HTTPS协议通讯。
企业可以选择是否对交易数据进行对称加密,目前系统支持的算法有DES与
3DES。进行对称加密可以防止第三方截获交易的信息。而加密中需要用到的密
钥由企业与工行共同约定。(加密功能暂不支持)
企业需要对其发送的指令数据进行数字签名,签名中使用的证书可以是企业证
书也可以是工行证书,其中签名使用的算法是SHA1withRSA。进行数字签名可
以防止第三方假冒企业的行为。
✓工行向企业发送结果信息时的安全控制
企业ERP与银企互连系统之间使用HTTPS协议通讯。
企业可选择是否对返回数据进行对称加密,方法与上文相同。
工行对部分关键交易返回信息进行数字签名。
第 3 章重点说明
所有的交易请求包中“包序列ID”字段(PackageID)由企业产生,产生规则为当前日期(北京时间,格式为yyyyMMdd)+7位序列号(例如200212230000001,为2002年12月23日发送的一个交易请求包的包序列ID)。在一个企业代码下当日包序列ID 必须唯一。工行处理完毕之后将该字段原值返回,即所有的交易返回包中“包序列ID”
字段(PackageID)。
转帐交易请求包中“签名时间”字段(SignTime),格式为yyyyMMddhhmmssSSS(例如20021223092710568,表示2002年12月23日9点27分10秒568毫秒)。签名时间应为北京时间。签名时间如果与交易请求到达工行服务器时的北京标准时间误差过大(暂定为15分钟),交易将无法进行。此措施将可以有效地防止黑客采用重放攻击进行干扰帐务活动的行为。同一笔交易如果因为网络不正常等因素需要重新提交时,要修改转账交易请求包的“签名时间字段”并重新签名。
所有请求包和返回包中备用字段的使用主要是出于对今后扩展的考虑,如果以后需要增加企业上送的项目或者返回给企业的信息,不必再改变交易包格式。目前对企业请求包来说这些备用字段的值可以送空;企业对银行返回包中的备用字段也不必作处
理。请求包中的备用字段标签为“ReqReserved*”,返回包中的备用字段标签为“RepReserved*”(其中*为1、2、3或4,详见接口说明文档)。
查询历史明细返回数据包中交易时间(
支付查询指令接口,方便企业对可疑、有疑问(如网络中断,交易长时间没有返回等)或处理完毕的转帐指令进行查询。企业提交要查询的结算请求的包序列ID,工行返回该笔转帐指令的基本信息和状态。
本接口说明中所有涉及金额的字段都是以分为单位(不带小数点)。
如企业系统需要代理汇兑功能则企业应用需同步开发网点信息下载交易,以便为代理汇兑交易中收方为它行情况时提供工行网点名称。否则,无需开发网点信息下载交易。 在网点信息下载功能中,由于下载数据过大且数据不会经常更新,所以此交易控制了企业每日下载次数。目前暂定次数为每日2次。
个人联名卡签权指令只支持币种是人民币的账号/卡号。
企业端传输数据时,指定xml编码方式为GB2312。
银企互联提交包中包含“
企业端的程序需要对银行返回的数据有可扩展性,以便适应今后业务的不断发展。
银企互连系统支持两种接入方式,客户可以任何选择一种。第一种:使用第三方NC 软件方式接入银企互连系统;第二种:使用非NC方式企业直接接入银企互连系统; 一些接口中,返回包分文件级返回包和指令级返回包两种。文件级返回包是作为客户请求的响应信息同步返回的。而指令级返回包是银行主动发起的异步返回信息,表示指令处理的结果,指令级返回包首先会返回整批指令的处理结果,然后对于其中指令状态非最终状态(成功和失败)的指令,银行会实时更新每一条指令的状态,然后再每条分别以指令级返回包的格式返回给客户。
建议客户使用HTTP/1.1协议。HTTP/1.0及其以下协议版本可能无法正常发送指令到银行端。
下面将区分两类客户分别对接入方式等相关信息进行说明。