




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章概述銀企互聯(lián)面向大的集團(tuán)客戶,提供與企業(yè)ERP系統(tǒng)直連的平臺(tái),銀企互聯(lián)面向大的集團(tuán)客戶,提供與企業(yè)ERP系統(tǒng)直連的平臺(tái),為工行的現(xiàn)金管理服務(wù)提供多渠道和客戶化支 持。企業(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)證書。企業(yè)進(jìn)行結(jié)算類交易時(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ù)提交指令的證書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方式接入的客戶;企業(yè) ERP系統(tǒng)2采用的是NC方式 接入的客戶;2.2企業(yè)端安全服務(wù)器簡(jiǎn)介它有兩個(gè)可以配置的端口分別用于加密和簽名/驗(yàn)簽服務(wù),如下圖所示(假設(shè)1為加密端口,2為簽名/驗(yàn)簽端口)。1. http父易請(qǐng)求包1 (加密)R2.交易結(jié)果NetSafehttps父易請(qǐng)求包1Client!r1.簽名/驗(yàn)簽請(qǐng)求2 (簽名
3、/驗(yàn)簽)2簽名/驗(yàn)簽結(jié)果具體使用時(shí),企業(yè)應(yīng)用向工行提交交易請(qǐng)求時(shí),可以依照http協(xié)議向NetSafe Client的端口1發(fā)送請(qǐng)求。接到請(qǐng)求后,NetSafe Client使用企業(yè)證書將 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-Type: INFOSE
4、C_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ù)端口邏輯地稱為兩臺(tái)服務(wù)器,NetSafeClient的加密服務(wù)器和簽名服務(wù)器。2.3安全控制介紹對(duì)于NC方式接入的客戶企業(yè)向工行提交的交易數(shù)據(jù),必須通過(guò)企業(yè)方的NetSafe Client進(jìn)行與工行服務(wù)器的連接,接口確定需要簽名的數(shù)據(jù)也必須由NetSafe Clien
5、t的簽名服務(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 方式接入的客戶企業(yè)向工行提交交易數(shù)據(jù)時(shí)的安全控制企業(yè) ERP 與銀企互連系統(tǒng)之間使用 HTTPS 協(xié)議通訊。 企業(yè)可以選擇是否對(duì)交易數(shù)
6、據(jù)進(jìn)行對(duì)稱加密,目前系統(tǒng)支持的算法有 DES 與3DES。進(jìn)行對(duì)稱加密可以防止第三方截獲交易的信息。而加密中需要用到的密 鑰由企業(yè)與工行共同約定。 (加密功能暫不支持) 企業(yè)需要對(duì)其發(fā)送的指令數(shù)據(jù)進(jìn)行數(shù)字簽名,簽名中使用的證書可以是企業(yè)證 書也可以是工行證書,其中簽名使用的算法是 SHA1withRSA 。進(jìn)行數(shù)字簽名可 以防止第三方假冒企業(yè)的行為。工行向企業(yè)發(fā)送結(jié)果信息時(shí)的安全控制企業(yè) ERP 與銀企互連系統(tǒng)之間使用 HTTPS 協(xié)議通訊。 企業(yè)可選擇是否對(duì)返回?cái)?shù)據(jù)進(jìn)行對(duì)稱加密,方法與上文相同。 工行對(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 秒 5
8、68 毫秒)。簽名時(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ì)返回?cái)?shù)據(jù)包中交易時(shí)間( <Trans_time></Trans_time> )數(shù)值如為空, 則說(shuō)明該筆指令是銀行的計(jì)息交易明細(xì)。支付查詢指令接口, 方便企業(yè)對(duì)可疑、 有疑問(wèn) (如網(wǎng)絡(luò)中斷, 交易長(zhǎng)時(shí)間沒(méi)有返回等) 或處理完畢的轉(zhuǎn)帳指令進(jìn)行查詢。 企業(yè)提交要查詢的結(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)名稱。 否則,無(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)支持兩種接入方式,客戶可以
11、任何選擇一種。第一種:使用第三方NC軟件方式接入銀企互連系統(tǒng);第二種:使用非 NC 方式企業(yè)直接接入銀企互連系統(tǒng); 下面將區(qū)分兩類客戶分別對(duì)接入方式等相關(guān)信息進(jìn)行說(shuō)明。第4章銀企互聯(lián)一一NC方式接入客戶4.1 企業(yè)端系統(tǒng)環(huán)境要求4.1.1軟件環(huán)境對(duì)企業(yè)的 ERP 系統(tǒng)無(wú)要求;工行企業(yè)端證書服務(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ò)專線或 INTERNET 與中國(guó)工商銀行銀企互連系統(tǒng)互 聯(lián)。4.1.3企 業(yè)開(kāi)發(fā)過(guò)程描述4.1.3.
12、1 企業(yè)提交交易請(qǐng)求數(shù)據(jù)過(guò)程企業(yè)提交的交易分為兩大類:查詢類和結(jié)算類(需要進(jìn)行簽名處理) 。1、 查詢類:( 1 ) 企業(yè)按照工行提供的 xml 包格式進(jìn)行打包,在局域網(wǎng)內(nèi)通過(guò) http 協(xié)議 以 POST 方式將交易包發(fā)送到 NetSafe Client 的安全 http 協(xié)議服務(wù)器。 http 請(qǐng)求格式: action=”http:/ 客戶端 NetSafe Client 的地址和加密端口 號(hào) /servlet/ICBCCMPAPIReqServlet?userID= 證書 ID &PackageID= 包序 列 ID &SendTime= 請(qǐng)求時(shí)間 ”請(qǐng)求數(shù)據(jù)格式(pos
13、t方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&TransCode= 交易代碼(區(qū)分交易類型,每個(gè)交易固定 )&BankCode= 客戶的歸屬單位 &GroupCIS= 客戶的歸屬編碼 &ID= 客戶的證書 ID (無(wú) 證書客戶可空 )&PackageID= 客戶的指令包序列號(hào) (由客戶 ERP 系統(tǒng)產(chǎn) 生,不可重復(fù) )&Cert= 客戶的證書公鑰信息(進(jìn)行 BASE64 編碼; NC 客戶送空 ) &reqData= 客戶的 xml 請(qǐng)求數(shù)據(jù)其中:包序列ID、證書ID應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企 業(yè)發(fā)出該交
14、易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。 post 方式最后不允許有回車等 其 他 亂 字 符 , TransCode 交 易 名 稱 應(yīng) 與 xml 包 內(nèi) 標(biāo) 簽 <TransCode></TransCode> 中 的 值 一 致 , action中 的 證 書 ID 、PackageID 與請(qǐng)求數(shù)據(jù)格式中的證書 ID、 PackageI D 、 xml 包中的證書 ID、 PackageID 的值三者相一致。( 2) NetSafe Client 將 xml 包加密后按照 https 協(xié)議,通過(guò)互聯(lián)網(wǎng) /專線發(fā)送 到銀行端的 NetSafe Server。(本步由NetSafe
15、Client完成,企業(yè)無(wú)需處理);(3)NetSafe Server將交易請(qǐng)求送銀企互連系統(tǒng)進(jìn)行處理。2、結(jié)算類:(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 。(注意大小寫)http請(qǐng)求格式:ac
16、tion="http:客戶端NetSafe Client的地址和簽名端口號(hào)”請(qǐng)求數(shù)據(jù)格式:結(jié)算類請(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> 簽名結(jié)果 </title><result>0</result></head><body><sign&g
17、t; MHIXAYJKovcNAQcCo .0BILdSgw= </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:客戶端NetSafe Client的地址和加密端口 號(hào)/servlet/ICBCCMPAPIReqServlet?userlD=證書 ID&PackagelD=包序 列ID &SendTime=請(qǐng)求時(shí)間”請(qǐng)求數(shù)據(jù)格式(post方式):
18、Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&Tra nsCode=交易代碼(區(qū)分交易類型,每個(gè)交易固定)&Ban kCode=客戶的歸屬單位 &GroupCIS=客戶的歸屬編碼 &ID=客戶的證書ID (無(wú) 證書客戶可空)&PackageID=客戶的指令包序列號(hào) (由客戶ERP系統(tǒng)產(chǎn) 生,不可重復(fù))&Cert=客戶的證書公鑰信息(進(jìn)行 BASE64編碼;NC 客戶送空)&reqData=客戶的xml請(qǐng)求數(shù)據(jù)其中:包序列ID、證書ID應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企 業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。post方式最后不允
19、許有回車等其他亂字符,TransCode 交易名稱應(yīng)與xml包內(nèi)標(biāo)簽<TransCode></TransCode> 中的值一致,action 中 的證書 ID、 PackageID與請(qǐng)求數(shù)據(jù)格式中的證書 ID、PackageID、xml包中的證書 ID、PackageID的值三者相一致。(3)NetSafe Client將企業(yè)送來(lái)的簽名包加密后按照https協(xié)議,通過(guò)互聯(lián)網(wǎng)/專線發(fā)送到工行端的NetSafe Server,再發(fā)往工行網(wǎng)銀進(jìn)行處理。(本步由NetSafe Client完成,企業(yè)無(wú)需處理)。企業(yè)接收交易響應(yīng)數(shù)據(jù)過(guò)程企業(yè)接收到數(shù)據(jù)包的格式 :re
20、qData=交易返回包或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ì)于單筆提交類指令(即存在文件級(jí)返回包的指令),返回的xml包格式按照指令級(jí)返回包格式來(lái)處理,多筆則按照文件級(jí)返回包格式來(lái)處理。企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action= "http:/
21、客戶ERP服務(wù)器的地址和端口號(hào) ”請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&Tra nsCode=交易代碼(區(qū)分交易類型,每個(gè)交易固定)&Ban kCode=客戶的歸屬單位 &GroupCIS=客戶的歸屬編碼 &ID=客戶的證書ID (無(wú) 證書客戶可空)&PackagelD=客戶的指令包序列號(hào) (由客戶ERP系統(tǒng)產(chǎn) 生,不可重復(fù))&Cert=客戶的證書公鑰信息(進(jìn)行 BASE64編碼;NC 客戶送空)&reqData=客戶的xml請(qǐng)求數(shù)據(jù)reqData數(shù)據(jù)格式:如果需要簽名,格式為:數(shù)字字符
22、串:長(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è);此格式返回的數(shù)據(jù)是不經(jīng)過(guò)NC的,是銀行直接發(fā)給企業(yè)的ERP系統(tǒng);如有使用,企業(yè)需要在內(nèi)管注冊(cè)或者修改集團(tuán)信息時(shí)填入企業(yè)用于接收銀行反饋的地址,標(biāo)準(zhǔn)格式是http:/ip:port;編解碼方式查看
23、 第5章銀企互聯(lián) 非NC方式接入客戶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ò)專線與中國(guó)工商銀行銀企互連系統(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:/ 客戶端 NetSafe Client 的地址和加密端口 號(hào) /servlet/ICBCCMPAPI
24、ReqServlet?userID= 證書 ID &PackageID= 包序 列 ID &SendTime= 請(qǐng)求時(shí)間 ”請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定) &TransCode= 交易代碼(區(qū)分交易類型,每個(gè)交易固定)&BankCode=客戶的歸屬單位 &GroupCIS= 客戶的歸屬編碼 &ID= 客戶的證書 ID (無(wú) 證書客戶可空 )&PackageID= 客戶的指令包序列號(hào) (由客戶 ERP 系統(tǒng)產(chǎn) 生,不可重復(fù) )&Cert= 客戶的證書公鑰信息(進(jìn)行 BASE6
25、4 編碼; NC 客戶送空 ) &reqData= 客戶的 xml 請(qǐng)求數(shù)據(jù)其中:包序列ID、證書ID應(yīng)根據(jù)實(shí)際情況進(jìn)行更改,請(qǐng)求時(shí)間為企 業(yè)發(fā)出該交易請(qǐng)求包的當(dāng)前系統(tǒng)時(shí)間。 post 方式最后不允許有回車等 其 他 亂 字 符 , TransCode 交 易 名 稱 應(yīng) 與 xml 包 內(nèi) 標(biāo) 簽 <TransCode></TransCode> 中 的 值 一 致 , action 中 的 證 書 ID 、 PackageID 與請(qǐng)求數(shù)據(jù)格式中的證書 ID、 PackageI D 、 xml 包中的證書ID 、 PackageID 的值三者相一致。reqDat
26、a 數(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=交易返回包結(jié)構(gòu):如果交易返回包進(jìn)行了簽名,則結(jié)構(gòu)為:數(shù)字
27、字符串:長(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ì)明文按工行提
28、供的 xml 包格式進(jìn)行解包。對(duì)于單筆提交類指令(即存在文件級(jí)返回 包的指令),返回的 xml 包格式按照指令級(jí)返回包格式來(lái)處理,多筆則按照文件級(jí)返 回包格式來(lái)處理。 企業(yè)接收銀行主動(dòng)返回過(guò)程http請(qǐng)求格式:action= "http:/客戶ERP服務(wù)器的地址和端口號(hào) 請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定)&Tra nsCode=交易代碼(區(qū)分交易類型,每個(gè)交易固定)&Ban kCode=客戶的歸屬單位 &GroupCIS=客戶的歸屬編碼 &ID=客戶的證書ID (無(wú) 證書客戶可空)&a
29、mp;PackagelD=客戶的指令包序列號(hào) (由客戶ERP系統(tǒng)產(chǎn) 生,不可重復(fù))&Cert=客戶的證書公鑰信息(進(jìn)行 BASE64編碼;NC 客戶送空)&reqData=客戶的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ù)
30、項(xiàng))得到最終的 reqData數(shù)據(jù)。按照以上格式將請(qǐng)求數(shù)據(jù)發(fā)送到企業(yè);此格式返回的數(shù)據(jù)是銀行直接發(fā)給企業(yè)的ERP系統(tǒng);如有使用,企業(yè)需要在內(nèi)管注冊(cè)或者修改集團(tuán)信息時(shí)填入企業(yè)用于接收銀行反饋的地址,標(biāo)準(zhǔn)格式是http:/ip:port;編解碼方式查看 企業(yè)簽名驗(yàn)簽過(guò)程在銀企互聯(lián)中,對(duì)于指令體的簽名與驗(yàn)簽工作由純java版工行簽名驗(yàn)簽接口完成的。本文檔對(duì)在專業(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)行簽名,然后用工行的通訊層公鑰
31、進(jìn)行通訊認(rèn)證;從工行系統(tǒng)接收處理結(jié)果的例子中包括了兩方面的內(nèi)容:用企業(yè)的通訊層私鑰要求通訊認(rèn)證,然后用工行的數(shù)據(jù)層公鑰進(jìn)行數(shù)據(jù)的驗(yàn)簽。使用這種接入方式的客戶只能使用磁盤證書;該磁盤證書需要拆分, 拆分為一對(duì)數(shù)據(jù)層證書,用于簽名驗(yàn)簽;一對(duì)通訊層證書,用于建立與銀行的https連接。拆分方法見(jiàn)第 7章企業(yè)簽名驗(yàn)簽方法總體介紹接口包含 icbc.jar 、 InfosecCrypto_Java1_02_JDK14.jar 、 org.mortbay.jetty.jar 、 tools.jar 四 個(gè)文件,使用時(shí)需要把這四個(gè)文件放置到j(luò)ava 的 classpath 目錄中。該接口建議的 JDK 版本
32、為 1.4.2。(不要使用 JDK1.5 版本或者比 1.4 更低版本)接口使用的詳細(xì)說(shuō)明Sign(對(duì)原始數(shù)據(jù)進(jìn)行數(shù)字簽名的函數(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 -NoS
33、uchAlgorithmException -InvalidKeyException -cert,SignatureException -verifySign(對(duì)數(shù)字簽名進(jìn)行驗(yàn)簽的函數(shù))public static intverifySign (byte src,int len,bytebytesign)Description 用rsa算法對(duì)一段簽名進(jìn)行驗(yàn)證Parameters:cert -為證書src -為被簽名的消息len -為被簽名消息的長(zhǎng)度sign -為簽名的結(jié)果Retur ns:如果成功返回0,如果其它則失敗Throws:Sign atureExcepti on -NoSuchAlgo
34、rithmExceptio n -In validKeyExceptio n -附件說(shuō)明1. ceshizhang.cer , ceshizhang.key是一套客戶證書的公鑰與私鑰,保護(hù)口令是 12345678。2. Test.java 是一個(gè)演示各個(gè)接口使用方式的測(cè)試程序。3. APIforZHEJIANG.rar指導(dǎo)企業(yè)開(kāi)發(fā)的例子程序;使用說(shuō)明例子的使用說(shuō)明。4. 附件如下簽名驗(yàn)簽接umwi.ap https服務(wù)器建立開(kāi)發(fā)支持請(qǐng)參考上面附件中 APIforZHEJIANG .rarAPIforZHEJIANGicbcapiserver.java 開(kāi)發(fā)。使用說(shuō) 明文檔介紹了開(kāi)發(fā)方法。 Base64編解碼方法參考建議使用sun提供的BASE64編解碼方法實(shí)現(xiàn)。/* base64 解碼* params:需要解碼的數(shù)據(jù)* return解碼后的數(shù)據(jù)*/public staticStri ng getstrFromBASE64(Stri ng s) if (s = null )return null ;sun. misc.BASE64Decoder d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自來(lái)水承包協(xié)議書
- 環(huán)保項(xiàng)目投資合作協(xié)議
- 風(fēng)心病病人的觀察與護(hù)理
- 空間環(huán)境監(jiān)測(cè)系統(tǒng)相關(guān)項(xiàng)目投資計(jì)劃書
- 農(nóng)業(yè)機(jī)械采購(gòu)和技術(shù)支持服務(wù)合同協(xié)議
- 洗滌劑用4A沸石相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 視頻監(jiān)控施工合同
- 傳真件有效協(xié)議
- CF未來(lái)行業(yè)分析模板
- 小王子里的友誼故事解讀
- 手衛(wèi)生七步洗手法
- 保健酒項(xiàng)目運(yùn)營(yíng)方案
- 婦幼保健院課件
- 中建辦公商業(yè)樓有限空間作業(yè)專項(xiàng)施工方案
- 擋渣墻及豎墻施工方案
- 德米特里 伊萬(wàn)諾維奇 門捷列夫
- 全國(guó)大學(xué)生油氣儲(chǔ)運(yùn)工程設(shè)計(jì)大賽特等獎(jiǎng)作品-word版
- 軟通考試BCG內(nèi)控答案
- 醫(yī)學(xué)倫理學(xué)講義
- 高中物理教科版目錄
- 錨桿錨索防護(hù)施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論