版權(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è)需要在企
2、業(yè)網(wǎng)銀系統(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)圖銀企互聯(lián)系統(tǒng)上圖企業(yè)ERP系統(tǒng)1采用的是非NC方式接入的客戶(hù);企業(yè) ERP系統(tǒng)2采用的是NC方式 接入的客戶(hù);2.2 企業(yè)端安全服務(wù)器簡(jiǎn)介它有兩個(gè)可以配置的端口分別用于加密和簽名/驗(yàn)簽服務(wù),如下圖所示(假設(shè)1為加密端口,2為簽名/驗(yàn)簽端口)。1 (加密)https交易請(qǐng)求包NetSafe Client2 (簽名/驗(yàn)簽)1 . http交易請(qǐng)求包 .2 .交易結(jié)果1
3、.簽名/驗(yàn)簽請(qǐng)求 .2 .簽名/驗(yàn)簽結(jié)果具體使用時(shí),企業(yè)應(yīng)用向工行提交交易請(qǐng)求時(shí),可以依照http協(xié)議向NetSafe Client的端口 1發(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ā)往端口 2 ,然后接收端口 2的簽名結(jié)果,之后再將包含簽 名信息的交易請(qǐng)求發(fā)往端口1而完成整個(gè)交易請(qǐng)求過(guò)程。對(duì)簽名還是驗(yàn)簽名請(qǐng)求的區(qū)分則是通過(guò)http包頭來(lái)進(jìn)行。Content-Type: INFOSEC_SIGN/1.0 和 Content-T
4、ype: 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ù)器,NetSafeClient的加密服務(wù)器和簽名服務(wù)器。2.3安全控制介紹對(duì)于NC方式接入的客戶(hù)企業(yè)向工行提交的交易數(shù)據(jù),必須通過(guò)企業(yè)方的NetSafe Client進(jìn)行與工行服務(wù)器的連接,接口確定需要簽名的數(shù)據(jù)也必
5、須由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)求包中“包序列
7、 ID”字段(PackagelD)由企業(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 毫
8、秒) 。簽名時(shí)間應(yīng)為北京時(shí)間。簽名時(shí)間如果與交易請(qǐng)求到達(dá)工行服務(wù)器時(shí)的北京標(biāo)準(zhǔn)時(shí)間誤差過(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*",返回包中的備用字
9、段標(biāo)簽為“RepReserved*"(其中*為1、2、3或4,詳見(jiàn)接口說(shuō)明文檔)。查 詢(xún)歷史明細(xì)返回?cái)?shù)據(jù)包中交易時(shí)間(<Trans_time></Trans_time> )數(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)信息下載交易,以便為代理匯兌交易中收方為它行
10、情況時(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)名卡簽權(quán)指令只支持幣種是人民幣的賬號(hào)/卡號(hào)。企 業(yè)端傳輸數(shù)據(jù)時(shí),指定xml 編碼方式為GB2312。銀 企互聯(lián)提交包中包含“<SignTime> 簽名時(shí)間(yyyyMMddhhmmssSS) S </SignTime> ”此標(biāo)簽的,說(shuō)明該交易需要進(jìn)行簽名處理。企 業(yè)端的程序需要對(duì)銀行返回的數(shù)據(jù)有可擴(kuò)展性,以便適應(yīng)今后業(yè)務(wù)的不斷發(fā)展。銀 企互連系統(tǒng)支持兩種接入方式,客戶(hù)可以任何選擇一種。第
11、一種:使用第三方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è)端證書(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)線(xiàn)或INTERNET 與中國(guó)工商銀行銀企互連系統(tǒng)互聯(lián)。4.1.3 企業(yè)開(kāi)發(fā)過(guò)程描述 企業(yè)提交交易請(qǐng)求數(shù)據(jù)過(guò)程
12、企業(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:客戶(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í)
13、間,暫定)&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ù)其中:包序列ID、證書(shū)ID應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。post 方式最后不允許有回車(chē)等其 他 亂 字 符
14、 , TransCode交 易 名 稱(chēng) 應(yīng) 與xml 包 內(nèi)標(biāo) 簽<TransCode></TransCode> 中 的 值 一 致 , 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)線(xiàn)發(fā)送 到銀行端的 NetSafe Server。(本步由NetSafe Client完成,企業(yè)無(wú)需處 理);(3) NetSafe Server將交易請(qǐng)求送銀企互連系統(tǒng)進(jìn)行處理
15、。2、結(jié)算類(lèi):(1)企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)與 NetSafeClient的簽名端口建立 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="http:客戶(hù)端NetSafe Client的
16、地址和簽名端口生請(qǐng)求數(shù)據(jù)格式:結(jié)算類(lèi)請(qǐng)求提交的xml包NetSafe Client對(duì)xml包進(jìn)行簽名后,通過(guò)http協(xié)議將簽名結(jié)果返回給企業(yè)系統(tǒng)。如簽名成功<sign>標(biāo)簽與</sign>標(biāo)簽之間的部分為簽名結(jié)果。NetSafe Client返回的簽名包如下:<html><head><title> 簽名Z果 </title><result>0</result></head><body><sign>MIIIXAYJKovcNAQcCo .0BlLdSgw= <
17、/sign></body></html>(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的地址和加密端口號(hào)/servlet/ICBCCMPAPIReqServlet?userID=證書(shū) ID &PackageID=包序列ID &SendTime=請(qǐng)求時(shí)間”請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&
18、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ù)其中:包序列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)簽<T
19、ransCode></TransCode> 中的值一致,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)線(xiàn)發(fā)送到工行端的 NetSafe Server,再發(fā)往工行網(wǎng)銀進(jìn)行處理。(本步由NetSafe Client完成,企業(yè)無(wú)需處理)。 企業(yè)接收交易響應(yīng)數(shù)據(jù)過(guò)程企業(yè)接收到數(shù)據(jù)包的格式 :reqData=交易返回包或6。2。6=錯(cuò)誤代碼步驟:判斷返回?cái)?shù)據(jù)中是否是er
20、rorCode:( 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)處理。 企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action="http:客戶(hù)ERP服務(wù)器的地址和端口號(hào) ”請(qǐng)求數(shù)據(jù)格式(post方式):Version=版
21、本號(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ù)格式:如果需要簽名,格式為:數(shù)字字符串:長(zhǎng)度10 位,代表明文數(shù)據(jù)長(zhǎng)度,不足10 位左補(bǔ) 0;明文: xml
22、明文,長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢字)算作1 位長(zhǎng)度;分隔符:ICBCCMP ;如果不需要簽名,則直接送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)線(xiàn)與中國(guó)工商銀行銀企互連系統(tǒng)互聯(lián)。5.1.3 企業(yè)開(kāi)發(fā)過(guò)程描述 企業(yè)提交交易請(qǐng)求數(shù)據(jù)過(guò)程( 1 ) 企業(yè)按照工行提供的xml
23、 包格式進(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= 交易代碼(區(qū)分交易類(lèi)型,每個(gè)交易固定)&Bank
24、Code= 客戶(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) 簽 <TransCode>&l
25、t;/TransCode> 中 的 值 一 致 , action 中 的 證 書(shū)ID 、PackageID 與請(qǐng)求數(shù)據(jù)格式中的證書(shū)ID、 PackageID 、 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 編碼得到最終的reqDa
26、ta 數(shù)據(jù)。按照以上格式將請(qǐng)求數(shù)據(jù)發(fā)送到工行; 企業(yè)接收交易響應(yīng)數(shù)據(jù)過(guò)程企業(yè)接收到數(shù)據(jù)包的格式:reqData=交易返回包或errorCode=錯(cuò)誤代碼reqData=交易返回包結(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ù)
27、錯(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)處理。 企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action="http:客戶(hù)ERP服務(wù)器的地址和端口號(hào) ”請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&am
28、p;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ù)格式:如果需要簽名,格式為:數(shù)字字符串:長(zhǎng)度10 位,代表明文數(shù)據(jù)長(zhǎng)度,不足10 位左補(bǔ)0;明文: xml 明文,長(zhǎng)度可變,需要上面的數(shù)據(jù)指明,雙字節(jié)字符(漢
29、字)算作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ò)程在銀企互聯(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è)
30、的數(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.jetty.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ù)字簽名的函
31、數(shù))public static bytesign (byte src,int len,byteprivateKey,charkeyPass)Description用 rsa 算法對(duì)一段消息簽名Parameters:privateKey -為口令保護(hù)的私鑰src - 為待簽名消息len - 為待簽名消息的長(zhǎng)度 keyPass - 為私鑰保護(hù)口令Returns:如果成功返回簽名結(jié)果, 如果失敗返回nullThrows:NoSuchProviderException -NoSuchAlgorithmException -InvalidKeyException -SignatureException -verifySign (對(duì)數(shù)字簽名進(jìn)行驗(yàn)簽的函數(shù))public static int verifySign (byte src,int len,bytecert,bytesign)Description 用 rsa 算法對(duì)一段簽名進(jìn)行驗(yàn)證Parameters:cert - 為證書(shū)src -為被簽名的消息len -為被簽名消息的長(zhǎng)度sign - 為簽名的結(jié)果Returns:如果成功返回0, 如果其它則失敗Throws:SignatureException -NoSuchAlgorit
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋設(shè)計(jì)裝修托管合同范例
- 會(huì)所裝修工程合同范例
- 代理收債合同范例
- 標(biāo)準(zhǔn)欠款合同范例
- 無(wú)貨源合作合同范例
- 房屋續(xù)簽協(xié)議合同范例
- 2024年電子產(chǎn)品購(gòu)銷(xiāo)協(xié)議樣本版B版
- 雙十二電子產(chǎn)品熱
- 時(shí)尚前沿大解析
- 2024年委托持股項(xiàng)目股權(quán)激勵(lì)與員工持股計(jì)劃實(shí)施合同3篇
- 國(guó)家自然科學(xué)基金進(jìn)展報(bào)告
- 李陽(yáng)100句名言攻克語(yǔ)法
- 個(gè)體工商戶(hù)設(shè)立(變更)登記審核表
- 一般自我效能感量表及計(jì)分方式
- (完整版)機(jī)加中心績(jī)效考核方案
- 世界旅游夏威夷英文介紹簡(jiǎn)介English introduction of Hawaii(課堂PPT)
- 個(gè)人簡(jiǎn)歷表格標(biāo)準(zhǔn)模板(Word)
- 安全生產(chǎn)中長(zhǎng)期規(guī)劃
- 日標(biāo)歐標(biāo)英標(biāo)O型圈匯總
- 777F02板型尺寸及ULD組裝高教知識(shí)
- 國(guó)家機(jī)構(gòu)結(jié)構(gòu)圖季宏
評(píng)論
0/150
提交評(píng)論