中國(guó)工商銀行銀企互連系統(tǒng)企業(yè)開(kāi)發(fā)手冊(cè)_第1頁(yè)
中國(guó)工商銀行銀企互連系統(tǒng)企業(yè)開(kāi)發(fā)手冊(cè)_第2頁(yè)
中國(guó)工商銀行銀企互連系統(tǒng)企業(yè)開(kāi)發(fā)手冊(cè)_第3頁(yè)
中國(guó)工商銀行銀企互連系統(tǒng)企業(yè)開(kāi)發(fā)手冊(cè)_第4頁(yè)
中國(guó)工商銀行銀企互連系統(tǒng)企業(yè)開(kāi)發(fā)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 1 章 概述銀企互聯(lián)面向大的集團(tuán)客戶(hù),提供與企業(yè)erp系統(tǒng)直連的平臺(tái),銀企互聯(lián)面向大的集團(tuán)客戶(hù),提供與企業(yè)erp系統(tǒng)直連的平臺(tái),為工行的現(xiàn)金管理服務(wù)提供多渠道和客戶(hù)化支持。企業(yè)erp系統(tǒng)通過(guò)https協(xié)議與工行系統(tǒng)進(jìn)行連接并向銀企互聯(lián)前置發(fā)送數(shù)據(jù),數(shù)據(jù)的接口格式使用標(biāo)準(zhǔn)的xml數(shù)據(jù)格式,但雙方通訊的過(guò)程中則需要遵守下文描述的規(guī)定。銀企互聯(lián)前置接到企業(yè)數(shù)據(jù)后進(jìn)行一系列的檢查后完成交易,并將處理結(jié)果以企業(yè)便于處理的形式返回給企業(yè)。在安全保證方面,通訊層的安全保證是https協(xié)議。企業(yè)如需使用銀企互聯(lián)系統(tǒng),要辦理有關(guān)注冊(cè)手續(xù),并審領(lǐng)證書(shū)。企業(yè)進(jìn)行結(jié)算類(lèi)交易時(shí),如果涉及到授權(quán)過(guò)程,企業(yè)需要在企業(yè)網(wǎng)

2、銀系統(tǒng)中完成相關(guān)授權(quán)動(dòng)作。銀企互連系統(tǒng)將企業(yè)提交的支付指令或者授權(quán)成功后的指令當(dāng)作最終轉(zhuǎn)賬指令,根據(jù)提交指令的證書(shū)id檢查收付方帳號(hào)等合法性,以保證所提交指令在權(quán)限允許范圍內(nèi)進(jìn)行操作。第 2 章 總體方案介紹2.1 總體網(wǎng)絡(luò)結(jié)構(gòu)圖上圖企業(yè)erp系統(tǒng)1采用的是非nc方式接入的客戶(hù);企業(yè)erp系統(tǒng)2采用的是nc方式接入的客戶(hù);2.2 企業(yè)端安全服務(wù)器簡(jiǎn)介此服務(wù)器只對(duì)使用nc方式接入的客戶(hù)有效。企業(yè)端安全服務(wù)器被稱(chēng)為netsafe client。它有兩個(gè)可以配置的端口分別用于加密和簽名驗(yàn)簽服務(wù),如下圖所示(假設(shè)為加密端口,為簽名驗(yàn)簽端口)。1(加密)netsafeclient2(簽名驗(yàn)簽)1. ht

3、tp交易請(qǐng)求包https交易請(qǐng)求包1.簽名驗(yàn)簽請(qǐng)求包2.簽名驗(yàn)簽結(jié)果2. 交易結(jié)果具體使用時(shí),企業(yè)應(yīng)用向工行提交交易請(qǐng)求時(shí),可以依照http協(xié)議向netsafe client的端口發(fā)送請(qǐng)求。接到請(qǐng)求后,netsafe client使用企業(yè)證書(shū)將http請(qǐng)求包轉(zhuǎn)換成https請(qǐng)求包發(fā)往工行端服務(wù)器;如果需要對(duì)某些交易數(shù)據(jù)進(jìn)行簽名,則企業(yè)應(yīng)用需要與簽名端口建立socket 連接并將待簽名數(shù)據(jù)發(fā)往端口,然后接收端口的簽名結(jié)果,之后再將包含簽名信息的交易請(qǐng)求發(fā)往端口而完成整個(gè)交易請(qǐng)求過(guò)程。對(duì)簽名還是驗(yàn)簽名請(qǐng)求的區(qū)分則是通過(guò)http包頭來(lái)進(jìn)行。content-type: infosec_sign/1.0

4、和content-type: infosec_verify_sign/1.0分別用于標(biāo)識(shí)簽名請(qǐng)求和驗(yàn)簽名請(qǐng)求,而content-type: infosec_sign_result/1.0和content-type: infosec_verify_sign_result/1.0分別用于標(biāo)識(shí)簽名和驗(yàn)簽名的返回結(jié)果。為方便起見(jiàn),可以將netsafe client的兩個(gè)服務(wù)端口邏輯地稱(chēng)為兩臺(tái)服務(wù)器,netsafe client的加密服務(wù)器和簽名服務(wù)器。2.3 安全控制介紹對(duì)于nc方式接入的客戶(hù) 企業(yè)向工行提交的交易數(shù)據(jù),必須通過(guò)企業(yè)方的netsafe client進(jìn)行與工行服務(wù)器的連接,接口確定需要簽

5、名的數(shù)據(jù)也必須由netsafe client的簽名服務(wù)器簽名后組成規(guī)定的數(shù)據(jù)包格式后,通過(guò)netsafe client提交工行,這樣可以保證企業(yè)數(shù)據(jù)以及相關(guān)信息不被惡意篡改。 數(shù)據(jù)全部由netsafe client負(fù)責(zé)轉(zhuǎn)發(fā),使netsafe client成為架設(shè)在企業(yè)現(xiàn)場(chǎng)的工行接入服務(wù)器。而企業(yè)與工行之間安全的連接,由netsafe client和工行安全代理服務(wù)器netsafe保證; 工行接收到企業(yè)提交過(guò)來(lái)的部分關(guān)鍵交易數(shù)據(jù)后,需要解密并驗(yàn)證企業(yè)的數(shù)字簽名,以防止第三方假冒企業(yè)的行為。對(duì)于非nc方式接入的客戶(hù) 企業(yè)向工行提交交易數(shù)據(jù)時(shí)的安全控制企業(yè)erp與銀企互連系統(tǒng)之間使用https協(xié)議通

6、訊。企業(yè)可以選擇是否對(duì)交易數(shù)據(jù)進(jìn)行對(duì)稱(chēng)加密,目前系統(tǒng)支持的算法有des與3des。進(jìn)行對(duì)稱(chēng)加密可以防止第三方截獲交易的信息。而加密中需要用到的密鑰由企業(yè)與工行共同約定。(加密功能暫不支持)企業(yè)需要對(duì)其發(fā)送的指令數(shù)據(jù)進(jìn)行數(shù)字簽名,簽名中使用的證書(shū)可以是企業(yè)證書(shū)也可以是工行證書(shū),其中簽名使用的算法是sha1withrsa。進(jìn)行數(shù)字簽名可以防止第三方假冒企業(yè)的行為。 工行向企業(yè)發(fā)送結(jié)果信息時(shí)的安全控制企業(yè)erp與銀企互連系統(tǒng)之間使用https協(xié)議通訊。企業(yè)可選擇是否對(duì)返回?cái)?shù)據(jù)進(jìn)行對(duì)稱(chēng)加密,方法與上文相同。工行對(duì)部分關(guān)鍵交易返回信息進(jìn)行數(shù)字簽名。第 3 章 重點(diǎn)說(shuō)明 所有的交易請(qǐng)求包中“包序列id”字

7、段(packageid)由企業(yè)產(chǎn)生,產(chǎn)生規(guī)則為當(dāng)前日期(北京時(shí)間,格式為yyyymmdd)7位序列號(hào)(例如200212230000001,為2002年12月23日發(fā)送的一個(gè)交易請(qǐng)求包的包序列id)。在一個(gè)企業(yè)代碼下當(dāng)日包序列id必須唯一。工行處理完畢之后將該字段原值返回,即所有的交易返回包中“包序列id”字段(packageid)。 轉(zhuǎn)帳交易請(qǐng)求包中“簽名時(shí)間”字段(signtime),格式為yyyymmddhhmmsssss(例如20021223092710568,表示2002年12月23日9點(diǎn)27分10秒568毫秒)。簽名時(shí)間應(yīng)為北京時(shí)間。簽名時(shí)間如果與交易請(qǐng)求到達(dá)工行服務(wù)器時(shí)的北京標(biāo)準(zhǔn)時(shí)

8、間誤差過(guò)大(暫定為15分鐘),交易將無(wú)法進(jìn)行。此措施將可以有效地防止黑客采用重放攻擊進(jìn)行干擾帳務(wù)活動(dòng)的行為。同一筆交易如果因?yàn)榫W(wǎng)絡(luò)不正常等因素需要重新提交時(shí),要修改轉(zhuǎn)賬交易請(qǐng)求包的“簽名時(shí)間字段”并重新簽名。 所有請(qǐng)求包和返回包中備用字段的使用主要是出于對(duì)今后擴(kuò)展的考慮,如果以后需要增加企業(yè)上送的項(xiàng)目或者返回給企業(yè)的信息,不必再改變交易包格式。目前對(duì)企業(yè)請(qǐng)求包來(lái)說(shuō)這些備用字段的值可以送空;企業(yè)對(duì)銀行返回包中的備用字段也不必作處理。請(qǐng)求包中的備用字段標(biāo)簽為“reqreserved*”,返回包中的備用字段標(biāo)簽為“represerved*”(其中*為1、2、3或4,詳見(jiàn)接口說(shuō)明文檔)。 查詢(xún)歷史明細(xì)

9、返回?cái)?shù)據(jù)包中交易時(shí)間()數(shù)值如為空,則說(shuō)明該筆指令是銀行的計(jì)息交易明細(xì)。 支付查詢(xún)指令接口,方便企業(yè)對(duì)可疑、有疑問(wèn)(如網(wǎng)絡(luò)中斷,交易長(zhǎng)時(shí)間沒(méi)有返回等)或處理完畢的轉(zhuǎn)帳指令進(jìn)行查詢(xún)。企業(yè)提交要查詢(xún)的結(jié)算請(qǐng)求的包序列id,工行返回該筆轉(zhuǎn)帳指令的基本信息和狀態(tài)。 本接口說(shuō)明中所有涉及金額的字段都是以分為單位(不帶小數(shù)點(diǎn))。 如企業(yè)系統(tǒng)需要代理匯兌功能則企業(yè)應(yīng)用需同步開(kāi)發(fā)網(wǎng)點(diǎn)信息下載交易,以便為代理匯兌交易中收方為它行情況時(shí)提供工行網(wǎng)點(diǎn)名稱(chēng)。否則,無(wú)需開(kāi)發(fā)網(wǎng)點(diǎn)信息下載交易。 在網(wǎng)點(diǎn)信息下載功能中,由于下載數(shù)據(jù)過(guò)大且數(shù)據(jù)不會(huì)經(jīng)常更新,所以此交易控制了企業(yè)每日下載次數(shù)。目前暫定次數(shù)為每日2次。 個(gè)人聯(lián)名卡

10、簽權(quán)指令只支持幣種是人民幣的賬號(hào)/卡號(hào)。 企業(yè)端傳輸數(shù)據(jù)時(shí),指定xml編碼方式為gb2312。 銀企互聯(lián)提交包中包含“簽名時(shí)間(yyyymmddhhmmsssss)”此標(biāo)簽的,說(shuō)明該交易需要進(jìn)行簽名處理。 企業(yè)端的程序需要對(duì)銀行返回的數(shù)據(jù)有可擴(kuò)展性,以便適應(yīng)今后業(yè)務(wù)的不斷發(fā)展。 銀企互連系統(tǒng)支持兩種接入方式,客戶(hù)可以任何選擇一種。第一種:使用第三方nc軟件方式接入銀企互連系統(tǒng);第二種:使用非nc方式企業(yè)直接接入銀企互連系統(tǒng);下面將區(qū)分兩類(lèi)客戶(hù)分別對(duì)接入方式等相關(guān)信息進(jìn)行說(shuō)明。第 4 章 銀企互聯(lián)nc方式接入客戶(hù)4.1 企業(yè)端系統(tǒng)環(huán)境要求4.1.1 軟件環(huán)境對(duì)企業(yè)的erp系統(tǒng)無(wú)要求;工行企業(yè)端證

11、書(shū)服務(wù)器軟件netsafe client需安裝在一臺(tái)pc機(jī)上。4.1.2 網(wǎng)絡(luò)環(huán)境企業(yè)財(cái)務(wù)系統(tǒng)通過(guò)局域網(wǎng)與工商銀行提供的netsafe client連接;企業(yè)端的netsafe client可以通過(guò)專(zhuān)線或internet與中國(guó)工商銀行銀企互連系統(tǒng)互聯(lián)。4.1.3 企業(yè)開(kāi)發(fā)過(guò)程描述 企業(yè)提交交易請(qǐng)求數(shù)據(jù)過(guò)程企業(yè)提交的交易分為兩大類(lèi):查詢(xún)類(lèi)和結(jié)算類(lèi)(需要進(jìn)行簽名處理)。1、 查詢(xún)類(lèi):(1) 企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)通過(guò)http協(xié)議以post方式將交易包發(fā)送到netsafe client的安全http協(xié)議服務(wù)器。http請(qǐng)求格式:action=”http:/客

12、戶(hù)端netsafe client的地址和加密端口號(hào)/servlet/icbccmpapireqservlet?userid=證書(shū)id&packageid=包序列id &sendtime=請(qǐng)求時(shí)間”請(qǐng)求數(shù)據(jù)格式(post方式):version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &transcode=交易代碼(區(qū)分交易類(lèi)型,每個(gè)交易固定)&bankcode=客戶(hù)的歸屬單位&groupcis=客戶(hù)的歸屬編碼&id=客戶(hù)的證書(shū)id(無(wú)證書(shū)客戶(hù)可空)&packageid=客戶(hù)的指令包序列號(hào)(由客戶(hù)erp系統(tǒng)產(chǎn)生,不可重復(fù))&cert=客戶(hù)的證書(shū)公鑰信息(進(jìn)行base64編碼;nc客戶(hù)送空) &

13、reqdata=客戶(hù)的xml請(qǐng)求數(shù)據(jù)其中:包序列id、證書(shū)id應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。post方式最后不允許有回車(chē)等其他亂字符,transcode交易名稱(chēng)應(yīng)與xml包內(nèi)標(biāo)簽中的值一致,action中的證書(shū)id、packageid與請(qǐng)求數(shù)據(jù)格式中的證書(shū)id、packageid、xml包中的證書(shū)id、packageid的值三者相一致。(2) netsafe client將xml包加密后按照https協(xié)議,通過(guò)互聯(lián)網(wǎng)/專(zhuān)線發(fā)送到銀行端的netsafe server。(本步由netsafe client完成,企業(yè)無(wú)需處理);(3) netsafe serv

14、er將交易請(qǐng)求送銀企互連系統(tǒng)進(jìn)行處理。企業(yè)netsafe clientnetsafe server(1)(2)工行(3)2、 結(jié)算類(lèi):(1) 企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)與netsafe client的簽名端口建立socket連接,通過(guò)此連接向簽名端口發(fā)送http數(shù)據(jù)包。http包頭中需包含“content-length”和“content-type”兩個(gè)屬性。其中“content-length:”后面是需要簽名的二進(jìn)制數(shù)據(jù)包的長(zhǎng)度,“content-type:”后面是需要簽名的標(biāo)記,為infosec_sign/1.0。(注意大小寫(xiě))http請(qǐng)求格式:action=”ht

15、tp:/客戶(hù)端netsafe client的地址和簽名端口號(hào)”請(qǐng)求數(shù)據(jù)格式:結(jié)算類(lèi)請(qǐng)求提交的xml包netsafe client對(duì)xml包進(jìn)行簽名后,通過(guò)http協(xié)議將簽名結(jié)果返回給企業(yè)系統(tǒng)。如簽名成功標(biāo)簽與標(biāo)簽之間的部分為簽名結(jié)果。netsafe client返回的簽名包如下:簽名結(jié)果0miiixayjkovcnaqcco. 0blldsgw=(2) 企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)通過(guò)http協(xié)議以post方式將交易包發(fā)送到netsafe client的安全http協(xié)議服務(wù)器。http請(qǐng)求格式:action=”http:/客戶(hù)端netsafe client的地址和加密端口

16、號(hào)/servlet/icbccmpapireqservlet?userid=證書(shū)id&packageid=包序列id &sendtime=請(qǐng)求時(shí)間” 請(qǐng)求數(shù)據(jù)格式(post方式):version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &transcode=交易代碼(區(qū)分交易類(lèi)型,每個(gè)交易固定)&bankcode=客戶(hù)的歸屬單位&groupcis=客戶(hù)的歸屬編碼&id=客戶(hù)的證書(shū)id(無(wú)證書(shū)客戶(hù)可空)&packageid=客戶(hù)的指令包序列號(hào)(由客戶(hù)erp系統(tǒng)產(chǎn)生,不可重復(fù))&cert=客戶(hù)的證書(shū)公鑰信息(進(jìn)行base64編碼;nc客戶(hù)送空) &reqdata=客戶(hù)的xml請(qǐng)求數(shù)據(jù)其中:包序

17、列id、證書(shū)id應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。post方式最后不允許有回車(chē)等其他亂字符,transcode交易名稱(chēng)應(yīng)與xml包內(nèi)標(biāo)簽中的值一致,action中的證書(shū)id、packageid與請(qǐng)求數(shù)據(jù)格式中的證書(shū)id、packageid、xml包中的證書(shū)id、packageid的值三者相一致。(3) netsafe client將企業(yè)送來(lái)的簽名包加密后按照https協(xié)議,通過(guò)互聯(lián)網(wǎng)/專(zhuān)線發(fā)送到工行端的netsafe server,再發(fā)往工行網(wǎng)銀進(jìn)行處理。(本步由netsafe client完成,企業(yè)無(wú)需處理)。企業(yè)netsafe clientnetsafe

18、 server(1)(2)(3)(4) 企業(yè)接收交易響應(yīng)數(shù)據(jù)過(guò)程企業(yè)接收到數(shù)據(jù)包的格式:reqdata=交易返回包 或 errorcode=錯(cuò)誤代碼步驟:判斷返回?cái)?shù)據(jù)中是否是errorcode:(1)如果是:根據(jù)錯(cuò)誤代碼做相應(yīng)處理,結(jié)束。錯(cuò)誤代碼的含義參見(jiàn)接口說(shuō)明文檔中的附錄。(2)如果否:企業(yè)接收到數(shù)據(jù)包的格式:reqdata=交易結(jié)果包;企業(yè)根據(jù)先進(jìn)行base64解碼,簽名返回包按照格式拆分出明文和密文,驗(yàn)簽正確后對(duì)明文按工行提供的xml包格式進(jìn)行解包。對(duì)于單筆提交類(lèi)指令(即存在文件級(jí)返回包的指令),返回的xml包格式按照指令級(jí)返回包格式來(lái)處理,多筆則按照文件級(jí)返回包格式來(lái)處

19、理。 企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action=”http:/客戶(hù)erp服務(wù)器的地址和端口號(hào)” 請(qǐng)求數(shù)據(jù)格式(post方式):version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &transcode=交易代碼(區(qū)分交易類(lèi)型,每個(gè)交易固定)&bankcode=客戶(hù)的歸屬單位&groupcis=客戶(hù)的歸屬編碼&id=客戶(hù)的證書(shū)id(無(wú)證書(shū)客戶(hù)可空)&packageid=客戶(hù)的指令包序列號(hào)(由客戶(hù)erp系統(tǒng)產(chǎn)生,不可重復(fù))&cert=客戶(hù)的證書(shū)公鑰信息(進(jìn)行base64編碼;nc客戶(hù)送空) &reqdata=客戶(hù)的xml請(qǐng)求數(shù)據(jù)reqdata數(shù)據(jù)格式:如果需要簽名

20、,格式為:數(shù)字字符串:長(zhǎng)度10位,代表明文數(shù)據(jù)長(zhǎng)度,不足10位左補(bǔ)0;明文:xml明文,長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢字)算作1位長(zhǎng)度;分隔符:icbccmp;密文:明文經(jīng)過(guò)簽名后的數(shù)據(jù)并做base64編碼;如果不需要簽名,則直接送xml明文;以上數(shù)據(jù)經(jīng)過(guò)拼接后,再進(jìn)行base64編碼(僅reqdata項(xiàng))、urlencode編碼(全部參數(shù)項(xiàng))得到最終的reqdata數(shù)據(jù)。按照以上格式將請(qǐng)求數(shù)據(jù)發(fā)送到企業(yè);第 5 章 銀企互聯(lián)非nc方式接入客戶(hù)5.1 企業(yè)端系統(tǒng)環(huán)境要求5.1.1 軟件環(huán)境對(duì)企業(yè)的erp系統(tǒng)無(wú)要求;5.1.2 網(wǎng)絡(luò)環(huán)境企業(yè)財(cái)務(wù)系統(tǒng)可以通過(guò)專(zhuān)線與中國(guó)工商銀行銀企互連

21、系統(tǒng)互聯(lián)。5.1.3 企業(yè)開(kāi)發(fā)過(guò)程描述 企業(yè)提交交易請(qǐng)求數(shù)據(jù)過(guò)程(1) 企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)通過(guò)http協(xié)議以post方式將交易包發(fā)送到netsafe client的安全http協(xié)議服務(wù)器。http請(qǐng)求格式:action=”http:/客戶(hù)端netsafe client的地址和加密端口號(hào)/servlet/icbccmpapireqservlet?userid=證書(shū)id&packageid=包序列id &sendtime=請(qǐng)求時(shí)間”請(qǐng)求數(shù)據(jù)格式(post方式):version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &transcode=交易代碼(

22、區(qū)分交易類(lèi)型,每個(gè)交易固定)&bankcode=客戶(hù)的歸屬單位&groupcis=客戶(hù)的歸屬編碼&id=客戶(hù)的證書(shū)id(無(wú)證書(shū)客戶(hù)可空)&packageid=客戶(hù)的指令包序列號(hào)(由客戶(hù)erp系統(tǒng)產(chǎn)生,不可重復(fù))&cert=客戶(hù)的證書(shū)公鑰信息(進(jìn)行base64編碼;nc客戶(hù)送空) &reqdata=客戶(hù)的xml請(qǐng)求數(shù)據(jù)其中:包序列id、證書(shū)id應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。post方式最后不允許有回車(chē)等其他亂字符,transcode交易名稱(chēng)應(yīng)與xml包內(nèi)標(biāo)簽中的值一致,action中的證書(shū)id、packageid與請(qǐng)求數(shù)據(jù)格式中的證書(shū)id、packagei

23、d、xml包中的證書(shū)id、packageid的值三者相一致。reqdata數(shù)據(jù)格式: 如果需要簽名:數(shù)字字符串:長(zhǎng)度10位,代表明文數(shù)據(jù)長(zhǎng)度,不足10位左補(bǔ)0;明文:xml明文,長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢字)算作1位長(zhǎng)度;分隔符:icbccmp;密文:明文經(jīng)過(guò)簽名后的數(shù)據(jù)并做base64編碼;如果不需要簽名,則直接送xml明文;以上數(shù)據(jù)經(jīng)過(guò)拼接后,再進(jìn)行base64編碼得到最終的reqdata數(shù)據(jù)。按照以上格式將請(qǐng)求數(shù)據(jù)發(fā)送到工行; 企業(yè)接收交易響應(yīng)數(shù)據(jù)過(guò)程企業(yè)接收到數(shù)據(jù)包的格式:reqdata=交易返回包 或 errorcode=錯(cuò)誤代碼reqdata=交易返

24、回包結(jié)構(gòu):如果交易返回包進(jìn)行了簽名,則結(jié)構(gòu)為:數(shù)字字符串:長(zhǎng)度10位,代表明文數(shù)據(jù)長(zhǎng)度,不足10位左補(bǔ)0;明文:長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢字)算作1位長(zhǎng)度;分隔符:icbccmp;密文:明文經(jīng)過(guò)簽名后的數(shù)據(jù);如果交易返回包沒(méi)有簽名,則結(jié)構(gòu)為:明文;不論是否簽名,交易返回包均進(jìn)行了base64編碼;步驟:判斷返回?cái)?shù)據(jù)中是否是“errorcode=”打頭:(1)如果是:根據(jù)錯(cuò)誤代碼做相應(yīng)處理,結(jié)束。錯(cuò)誤代碼的含義參見(jiàn)接口說(shuō)明文檔中的附錄。(2)如果否:企業(yè)接收到數(shù)據(jù)包的格式:reqdata=交易結(jié)果包企業(yè)根據(jù)先進(jìn)行base64解碼,簽名返回包按照格式拆分出明文和密文,驗(yàn)簽正確后對(duì)

25、明文按工行提供的xml包格式進(jìn)行解包。對(duì)于單筆提交類(lèi)指令(即存在文件級(jí)返回包的指令),返回的xml包格式按照指令級(jí)返回包格式來(lái)處理,多筆則按照文件級(jí)返回包格式來(lái)處理。 企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action=”http:/客戶(hù)erp服務(wù)器的地址和端口號(hào)” 請(qǐng)求數(shù)據(jù)格式(post方式):version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &transcode=交易代碼(區(qū)分交易類(lèi)型,每個(gè)交易固定)&bankcode=客戶(hù)的歸屬單位&groupcis=客戶(hù)的歸屬編碼&id=客戶(hù)的證書(shū)id(無(wú)證書(shū)客戶(hù)可空)&packageid=客戶(hù)的指令包序列號(hào)(由客戶(hù)erp系

26、統(tǒng)產(chǎn)生,不可重復(fù))&cert=客戶(hù)的證書(shū)公鑰信息(進(jìn)行base64編碼;nc客戶(hù)送空) &reqdata=客戶(hù)的xml請(qǐng)求數(shù)據(jù)reqdata數(shù)據(jù)格式:如果需要簽名,格式為:數(shù)字字符串:長(zhǎng)度10位,代表明文數(shù)據(jù)長(zhǎng)度,不足10位左補(bǔ)0;明文:xml明文,長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢字)算作1位長(zhǎng)度;分隔符:icbccmp;密文:明文經(jīng)過(guò)簽名后的數(shù)據(jù)并做base64編碼;如果不需要簽名,則直接送xml明文;以上數(shù)據(jù)經(jīng)過(guò)拼接后,再進(jìn)行base64編碼(僅reqdata項(xiàng))、urlencode編碼(全部參數(shù)項(xiàng))得到最終的reqdata數(shù)據(jù)。按照以上格式將請(qǐng)求數(shù)據(jù)發(fā)送到企業(yè);企業(yè)簽名驗(yàn)簽過(guò)

27、程在銀企互聯(lián)中,對(duì)于指令體的簽名與驗(yàn)簽工作由純java版工行簽名驗(yàn)簽接口完成的。本文檔對(duì)在專(zhuān)業(yè)版銀企互聯(lián)中使用的接口作出描述。同時(shí)提供了一套純java版的從企業(yè)發(fā)送指令到工行系統(tǒng)和從工行系統(tǒng)接收處理結(jié)果的例子程序。從企業(yè)發(fā)送指令到工行系統(tǒng)的例子中包括了兩方面的內(nèi)容:用企業(yè)的數(shù)據(jù)層私鑰對(duì)數(shù)據(jù)進(jìn)行簽名,然后用工行的通訊層公鑰進(jìn)行通訊認(rèn)證;從工行系統(tǒng)接收處理結(jié)果的例子中包括了兩方面的內(nèi)容:用企業(yè)的通訊層私鑰要求通訊認(rèn)證,然后用工行的數(shù)據(jù)層公鑰進(jìn)行數(shù)據(jù)的驗(yàn)簽。企業(yè)簽名驗(yàn)簽方法總體介紹接口包含icbc.jar、infoseccrypto_java1_02_jdk14.jar、org.mortbay.je

28、tty.jar、tools.jar四個(gè)文件,使用時(shí)需要把這四個(gè)文件放置到j(luò)ava的classpath目錄中。該接口建議的jdk 版本為1.4.2。(不要使用jdk1.5版本或者比1.4更低版本)接口使用的詳細(xì)說(shuō)明sign(對(duì)原始數(shù)據(jù)進(jìn)行數(shù)字簽名的函數(shù))public static byte sign(bytesrc, int len, byteprivatekey, charkeypass)description 用rsa算法對(duì)一段消息簽名 parameters: privatekey - 為口令保護(hù)的私鑰 src - 為待簽名消息 len - 為待簽名消息的長(zhǎng)度keypass - 為私鑰保護(hù)口

29、令 returns: 如果成功返回簽名結(jié)果,如果失敗返回null throws: nosuchproviderexception - nosuchalgorithmexception - invalidkeyexception - signatureexception - verifysign(對(duì)數(shù)字簽名進(jìn)行驗(yàn)簽的函數(shù))public static int verifysign(bytesrc, int len, bytecert, bytesign)description 用rsa算法對(duì)一段簽名進(jìn)行驗(yàn)證 parameters: cert - 為證書(shū) src - 為被簽名的消息 len - 為被簽名消息的長(zhǎng)度sign - 為簽名的結(jié)果 returns: 如果成功返回0,如果其它則失敗 throws: signatureexception - nosuchalgorithmexception - invalidkeyexception -附件說(shuō)明1 ceshizhang.cer

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論