專利名稱:兼容多種發(fā)卡機(jī)和用戶卡規(guī)格的通用接口的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息技術(shù)領(lǐng)域?yàn)楫a(chǎn)品服務(wù)的通訊協(xié)議,尤指在發(fā)卡的過程中針對(duì) 不同類型的發(fā)卡設(shè)備,為統(tǒng)一通訊接口協(xié)議而發(fā)明的一種通用接口的通訊協(xié)議,主要應(yīng)用 于多用途的智能卡的發(fā)卡過程中,可用于大多數(shù)發(fā)卡設(shè)備以及大多數(shù)IC卡設(shè)計(jì)的一種通 用的通訊協(xié)議。
背景技術(shù):
隨著IC卡技術(shù)的發(fā)展,越來越多的商業(yè)領(lǐng)域、行業(yè)開始發(fā)行自己的智能卡,智能 卡的應(yīng)用越來越廣泛,隨之而來的發(fā)卡設(shè)備及應(yīng)用企業(yè)也越來越多。對(duì)于多數(shù)中小企業(yè),自 己設(shè)計(jì)使用并發(fā)卡的技術(shù)能力、使用成本都太大,所以不可能全面獨(dú)立自主的進(jìn)行發(fā)卡等, 必然會(huì)出現(xiàn)一些行業(yè)或企業(yè)委托其它有經(jīng)驗(yàn)的開發(fā)商進(jìn)行自己的開發(fā)、設(shè)計(jì)及發(fā)行。對(duì)于不同的企業(yè),發(fā)行的卡必然在卡片的結(jié)構(gòu)、設(shè)計(jì)等會(huì)產(chǎn)生不同的技術(shù)設(shè)計(jì)與 要求,故在通常的情況下,每給一個(gè)企業(yè)發(fā)行一種新卡,則必須根據(jù)新卡的卡結(jié)構(gòu)、設(shè)計(jì)技 術(shù)要求,以及使用不同的發(fā)卡設(shè)備,開發(fā)出一套新的軟件,以實(shí)現(xiàn)新卡的發(fā)行。對(duì)于不斷增 多的新卡種類以及不斷出現(xiàn)的新的大量發(fā)卡設(shè)備,許多為新設(shè)備,新卡的程序開發(fā)變得十 分復(fù)雜,存在缺乏通用性等缺點(diǎn)?;谶@種情況下,我們開發(fā)設(shè)計(jì)了一套通用于大多數(shù)發(fā)卡設(shè)備以及大多數(shù)IC卡 設(shè)計(jì)的一個(gè)通用通訊協(xié)議,其主要目的在于希望統(tǒng)一發(fā)卡機(jī)與發(fā)卡方的通訊協(xié)議,對(duì)于任 何一種發(fā)卡設(shè)備,只要先期一次性開發(fā)出支持此通訊協(xié)議的一套接口,則不論以后是發(fā)行 哪個(gè)企業(yè)的卡,只要此新卡的發(fā)卡協(xié)議符合我們所開發(fā)的協(xié)議,則都能順利的發(fā)出所需要 的卡,而不需要再對(duì)發(fā)卡設(shè)備進(jìn)行二次開發(fā)。對(duì)于不同的發(fā)卡企業(yè)則更加有利,一旦企業(yè)所使用的發(fā)卡機(jī)發(fā)現(xiàn)問題,購買了新 的發(fā)卡設(shè)備,只要對(duì)于新的發(fā)卡設(shè)備進(jìn)行一次開發(fā),讓其滿足于我們的通訊協(xié)議,則就能繼 續(xù)進(jìn)行發(fā)卡?;蚴瞧髽I(yè)需要更換新的發(fā)卡方,只要新的發(fā)卡方支持我們的通訊協(xié)議,就能發(fā) 出企業(yè)所需要的卡。此項(xiàng)發(fā)明主要是我們?cè)谂c一家主要的發(fā)卡企業(yè)合作時(shí),在需要有多家不同的企業(yè) 進(jìn)行發(fā)卡,為充分利用此企業(yè)的大型發(fā)卡設(shè)備,發(fā)行不同企業(yè)的卡,也解決我們每發(fā)一種新 卡需要在現(xiàn)場(chǎng)進(jìn)行開發(fā)調(diào)試的問題,故開發(fā)了此通訊協(xié)議。
發(fā)明內(nèi)容
為了克服上述不足之處,本發(fā)明的主要目的旨在提供一種可以兼容當(dāng)前普遍的發(fā) 卡指令及發(fā)卡功能的基本通訊協(xié)議。該方法通過對(duì)發(fā)卡設(shè)備進(jìn)行一次性的開發(fā),使其能支 持我們的通訊協(xié)議,使我們能使用此通訊協(xié)議讓發(fā)卡機(jī)按我們的要求發(fā)給符合企業(yè)功能的 企業(yè)自已卡的兼容多種發(fā)卡機(jī)和用戶卡規(guī)格的通用接口的方法。本發(fā)明要解決的技術(shù)問題是主要解決如何實(shí)現(xiàn)能兼容當(dāng)前多數(shù)發(fā)卡機(jī)通用的發(fā) 卡指令的數(shù)據(jù)格式,要解決如何滿足不同發(fā)卡機(jī)的命令參數(shù)要求,又要解決如何滿足我們基于標(biāo)準(zhǔn)的智能卡技術(shù)規(guī)范要求等有關(guān)技術(shù)問題。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是該協(xié)議根據(jù)標(biāo)準(zhǔn)的智能卡技術(shù)應(yīng)用 規(guī)范的要求,分解出不同的指令,以不同的命令字的方式來解釋不同的指令功能,使之對(duì)應(yīng) 于發(fā)卡機(jī)的不同指令集。一種兼容多種發(fā)卡機(jī)和用戶卡規(guī)格的通用接口的方法,該方法通過運(yùn)行于發(fā)卡機(jī) 與發(fā)卡方之間的通訊協(xié)議,通過對(duì)發(fā)卡設(shè)備進(jìn)行一次性的開發(fā),向需要的企業(yè)提供各種更 新的發(fā)卡方法;該協(xié)議根據(jù)標(biāo)準(zhǔn)的智能卡技術(shù)應(yīng)用規(guī)范的要求,分解出不同的指令,以不同 的命令字的方式來解釋不同的指令功能,來對(duì)應(yīng)于發(fā)卡機(jī)的不同指令集,具體包括以下步 驟步驟1.開始指令發(fā)卡機(jī)準(zhǔn)備就緒,請(qǐng)求發(fā)卡開始,發(fā)出請(qǐng)求開始命令,為A系列指令,同時(shí)表示發(fā) 卡機(jī)自檢完成,發(fā)卡機(jī)自檢結(jié)束后,開始觸發(fā)整個(gè)發(fā)卡過程,發(fā)出可以開始指令的發(fā)卡請(qǐng)求 命令;步驟2.外部認(rèn)證a).發(fā)送外部認(rèn)證指令執(zhí)行完開始指令模塊后,開始指令模塊的輸出信號(hào)傳遞到外部認(rèn)證模塊,外部認(rèn) 證模塊認(rèn)證卡片的有效性,用戶應(yīng)用系統(tǒng)認(rèn)證卡片規(guī)格是否符合要求,找到對(duì)應(yīng)的B系列 指令,發(fā)送外部認(rèn)證指令,再根據(jù)外部認(rèn)證應(yīng)答來確認(rèn)此卡片符合或不符合規(guī)定;b).判斷是否可以發(fā)行用戶應(yīng)用收到應(yīng)答信息后,根據(jù)應(yīng)答信息可以判斷出此卡片是否可以發(fā)行,若可 以,則需要?jiǎng)?chuàng)建相應(yīng)的文件系統(tǒng),進(jìn)入建文件系統(tǒng)模塊;若不可以,則反饋進(jìn)入開始指令模 塊的輸入端;步驟3.建文件系統(tǒng)當(dāng)外部認(rèn)證模塊判斷出此卡片可以發(fā)行,則進(jìn)入建文件系統(tǒng)模塊,建立用戶自定 義的文件系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出自定義的建立文件系統(tǒng)指令,為C系列指令,創(chuàng)建文件系 統(tǒng);同時(shí)根據(jù)建立文件系統(tǒng)應(yīng)答信息,來判斷文件系統(tǒng)創(chuàng)建成功與否;若創(chuàng)建成功,則進(jìn)入 建密鑰系統(tǒng)模塊;若創(chuàng)建不成功,則反饋進(jìn)入開始指令模塊的輸入端;步驟4.建密鑰系統(tǒng)a).創(chuàng)建密鑰文件用戶應(yīng)用收到創(chuàng)建文件成功后,則進(jìn)入建密鑰系統(tǒng)模塊;開始創(chuàng)建密鑰文件系統(tǒng), 建立用戶自定義的密鑰系統(tǒng),建立密鑰系統(tǒng)指令,用戶應(yīng)用系統(tǒng)發(fā)出自定義的密鑰系統(tǒng)指 令,為D系列指令,創(chuàng)建密鑰系統(tǒng);同時(shí)根據(jù)建立密鑰系統(tǒng)的應(yīng)答信息,來判斷密鑰系統(tǒng)創(chuàng) 建成功與否;若創(chuàng)建成功,則進(jìn)入讀寫指令模塊;若創(chuàng)建不成功,則反饋進(jìn)入開始指令模塊 的輸入端;b).創(chuàng)建不同密鑰文件系統(tǒng)創(chuàng)建密鑰文件可以多次使用,創(chuàng)建出對(duì)應(yīng)于不同應(yīng)用、不同文件及不同的安全等 級(jí)的不同密鑰文件系統(tǒng);步驟5.讀寫指令a).進(jìn)行讀寫操作
用戶應(yīng)用收到創(chuàng)建成功應(yīng)答后,開始對(duì)相關(guān)文件系統(tǒng)進(jìn)入讀寫指令模塊,進(jìn)行讀 寫操作,將用戶自定義的信息寫入文件、密鑰系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出讀寫命令,為E系列 指令,對(duì)文件、密鑰系統(tǒng)進(jìn)行讀寫操作;同時(shí)根據(jù)讀寫指令的讀寫應(yīng)答信息,來判斷讀寫操 作是否成功;若讀寫操作完成,則進(jìn)入完成指令模塊;若讀寫操作沒有完成,則反饋進(jìn)入開 始指令模塊的輸入端;b).信息寫入卡中對(duì)卡的基本信息進(jìn)行寫操作、密鑰文件進(jìn)行讀寫信息操作,將必要的信息寫入相 應(yīng)的文件系統(tǒng)內(nèi),并讀取部分信息進(jìn)行信息的有效性驗(yàn)證,以保證信息成功的被寫入卡 中;步驟6.結(jié)束指令a).結(jié)束發(fā)卡用戶應(yīng)用收到所有讀寫成功應(yīng)答后,則進(jìn)入結(jié)束指令模塊,發(fā)出結(jié)束寫卡后的操 作命令,讓發(fā)卡機(jī)結(jié)束發(fā)卡;b).卡片傳出到指定卡箱中用戶應(yīng)用系統(tǒng)發(fā)出完成指令操作結(jié)束,為F系列指令;同時(shí)根據(jù)完成應(yīng)答信息,來 結(jié)束應(yīng)答,發(fā)卡機(jī)則自動(dòng)將完成的卡片傳出到指定卡箱中,返回結(jié)束應(yīng)答。本發(fā)明的有益效果是本發(fā)明提供了一種通用的發(fā)卡命令與發(fā)卡機(jī)之間的通訊接 口的方法,方便卡機(jī)方與用戶方的開發(fā)按照統(tǒng)一的接口進(jìn)行自行開發(fā),擺脫了傳統(tǒng)的發(fā)卡 命令必須信賴于發(fā)卡機(jī)的指令集,一但更換發(fā)卡設(shè)備或發(fā)卡指令,需要全部重新開發(fā)的繁 瑣的工作;接口的出現(xiàn)也方便了發(fā)卡設(shè)備方,只要設(shè)備方按此接口開發(fā)完后,就能讓用戶十 分方便的使用,而無需用戶方學(xué)習(xí)掌握不同發(fā)卡設(shè)備自己的指令集來二次開發(fā);此協(xié)議減 少了發(fā)卡機(jī)的開發(fā)量,使用此標(biāo)準(zhǔn)接口,可以使發(fā)卡機(jī)適用于所有符合標(biāo)準(zhǔn)的發(fā)卡過程;解 決了發(fā)卡設(shè)備一次開發(fā)到位的問題,避免了二次開發(fā),提高了工作效率。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。 附圖1為本發(fā)明整體工作流程示意圖; 附圖2為本發(fā)明分組關(guān)聯(lián)規(guī)格映射示意圖; 附圖中標(biāo)號(hào)說明
1-開始指令;21-建立文件系統(tǒng)指令;2-外部認(rèn)證;22-建立文件系統(tǒng)應(yīng)答;3-建文件系統(tǒng);31-建立密鑰系統(tǒng)指令;4-建密鑰系統(tǒng);32-建立密鑰系統(tǒng)的應(yīng)答5-讀寫指令;41-讀寫命令;6-結(jié)束指令;42-讀寫應(yīng)答;10-開始命令;51-完成指令;11-外部認(rèn)證指令;52-完成應(yīng)答;12-外部認(rèn)證應(yīng)答;
具體實(shí)施例方式請(qǐng)參閱附圖1、2所示,本發(fā)明的方法通過運(yùn)行于發(fā)卡機(jī)與發(fā)卡方之間的通訊協(xié) 議,通過對(duì)發(fā)卡設(shè)備進(jìn)行一次性的開發(fā),向需要的企業(yè)提供各種更好的發(fā)卡方法;該協(xié)議根 據(jù)標(biāo)準(zhǔn)的智能卡技術(shù)應(yīng)用規(guī)范的要求,分解出不同的指令,以不同的命令字的方式來解釋 不同的指令功能,來對(duì)應(yīng)于發(fā)卡機(jī)的不同指令集,具體包括以下步驟步驟1.開始指令1發(fā)卡機(jī)準(zhǔn)備就緒,請(qǐng)求發(fā)卡開始,發(fā)出請(qǐng)求開始命令10,為A系列指令,同時(shí)表示 發(fā)卡機(jī)自檢完成,發(fā)卡機(jī)自檢結(jié)束后,開始觸發(fā)整個(gè)發(fā)卡過程,發(fā)出可以開始指令1的發(fā)卡 請(qǐng)求命令;步驟2.外部認(rèn)證2a).發(fā)送外部認(rèn)證指令執(zhí)行完開始指令1模塊后,開始指令1模塊的輸出信號(hào)傳遞到外部認(rèn)證2模塊,外 部認(rèn)證2模塊認(rèn)證卡片的有效性,用戶應(yīng)用系統(tǒng)認(rèn)證卡片規(guī)格是否符合要求,找到對(duì)應(yīng)的 B系列指令,發(fā)送外部認(rèn)證指令11,再根據(jù)外部認(rèn)證應(yīng)答12來確認(rèn)此卡片符合或不符合規(guī) 定;b).判斷是否可以發(fā)行用戶應(yīng)用收到應(yīng)答信息后,根據(jù)應(yīng)答信息可以判斷出此卡片是否可以發(fā)行,若可 以,則需要?jiǎng)?chuàng)建相應(yīng)的文件系統(tǒng),進(jìn)入建文件系統(tǒng)3模塊;若不可以,則反饋進(jìn)入開始指令1 模塊的輸入端;步驟3.建文件系統(tǒng)3當(dāng)外部認(rèn)證2模塊判斷出此卡片可以發(fā)行,則進(jìn)入建文件系統(tǒng)3模塊,建立用戶自 定義的文件系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出自定義的建立文件系統(tǒng)指令21,為C系列指令,創(chuàng)建文 件系統(tǒng);同時(shí)根據(jù)建立文件系統(tǒng)應(yīng)答22信息,來判斷文件系統(tǒng)創(chuàng)建成功與否;若創(chuàng)建成功, 則進(jìn)入建密鑰系統(tǒng)4模塊;若創(chuàng)建不成功,則反饋進(jìn)入開始指令1模塊的輸入端;步驟4.建密鑰系統(tǒng)4a).創(chuàng)建密鑰文件用戶應(yīng)用收到創(chuàng)建文件成功后,則進(jìn)入建密鑰系統(tǒng)4模塊;開始創(chuàng)建密鑰文件系 統(tǒng),建立用戶自定義的密鑰系統(tǒng),建立密鑰系統(tǒng)指令31,用戶應(yīng)用系統(tǒng)發(fā)出自定義的密鑰系 統(tǒng)指令,為D系列指令,創(chuàng)建密鑰系統(tǒng);同時(shí)根據(jù)建立密鑰系統(tǒng)的應(yīng)答32信息,來判斷密鑰 系統(tǒng)創(chuàng)建成功與否;若創(chuàng)建成功,則進(jìn)入讀寫指令5模塊;若創(chuàng)建不成功,則反饋進(jìn)入開始 指令1模塊的輸入端;b).創(chuàng)建不同密鑰文件系統(tǒng)創(chuàng)建密鑰文件可以多次使用,創(chuàng)建出對(duì)應(yīng)于不同應(yīng)用、不同文件或不同的安全等 級(jí)的不同密鑰文件系統(tǒng);步驟5.讀寫指令5a).進(jìn)行讀寫操作用戶應(yīng)用收到創(chuàng)建成功應(yīng)答后,開始對(duì)相關(guān)文件系統(tǒng)進(jìn)入讀寫指令5模塊,進(jìn)行 讀寫操作,將用戶自定義的信息寫入文件、密鑰系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出讀寫命令41,為E 系列指令,對(duì)文件、密鑰系統(tǒng)進(jìn)行讀寫操作;同時(shí)根據(jù)讀寫指令的讀寫應(yīng)答42信息,來判斷讀寫操作是否成功;若讀寫操作完成,則進(jìn)入完成指令6模塊;若讀寫操作沒有完成,則反 饋進(jìn)入開始指令1模塊的輸入端;b).信息寫入卡中對(duì)卡的基本信息進(jìn)行寫操作、密鑰文件進(jìn)行讀寫信息操作,將必要的信息寫入相 應(yīng)的文件系統(tǒng)內(nèi),并讀取部分信息進(jìn)行信息的有效性驗(yàn)證,以保證信息成功的被寫入卡 中;步驟6.結(jié)束指令6a).結(jié)束發(fā)卡用戶應(yīng)用收到所有讀寫成功應(yīng)答后,則進(jìn)入結(jié)束指令6模塊,發(fā)出結(jié)束寫卡后的 操作命令,讓發(fā)卡機(jī)結(jié)束發(fā)卡;b).卡片傳出到指定卡箱中用戶應(yīng)用系統(tǒng)發(fā)出完成指令51操作結(jié)束,為F系列指令;同時(shí)根據(jù)完成應(yīng)答52信 息,來結(jié)束應(yīng)答,發(fā)卡機(jī)則自動(dòng)將完成的卡片傳出到指定卡箱中,返回結(jié)束應(yīng)答。本發(fā)明的具體實(shí)施例之一1).發(fā)卡機(jī)發(fā)送開始指令發(fā)卡機(jī)自檢結(jié)束后,開始觸發(fā)整個(gè)發(fā)卡過程,發(fā)卡機(jī)并不需要知道將要發(fā)的卡是什么卡,需要什么步驟,它只需要確認(rèn)自己準(zhǔn)備好后,發(fā)出可以開始發(fā)卡的 開始命令就可以了;指令A(yù)0+LRC校驗(yàn)指按模式一開始發(fā)卡An+LRC校驗(yàn)指按模式N開始發(fā)卡如A0-按模式一的金融卡的PBOC標(biāo)準(zhǔn)開始制卡;2).用戶方發(fā)送外部認(rèn)證命令用戶方收到可以發(fā)卡的觸發(fā)指令后,開始發(fā)送卡片的外部認(rèn)證命令,對(duì)卡片進(jìn)行 有效性認(rèn)證,以保證卡片的可用性;指令B0+認(rèn)證內(nèi)容+LRC校驗(yàn)指卡片按認(rèn)證方式一進(jìn)行外部認(rèn)證返回B0+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果指令Bn+認(rèn)證內(nèi)容+LRC校驗(yàn)指卡片按認(rèn)證方式N進(jìn)行外部認(rèn)證返回Bn+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果如B0-按認(rèn)證方式一,即金融卡的PBOC認(rèn)證標(biāo)準(zhǔn)及內(nèi)容認(rèn)證卡片;3).用戶方發(fā)送建立文件命令用戶方對(duì)卡片進(jìn)行自定義的系統(tǒng)的創(chuàng)建,即將卡片內(nèi)已有的系統(tǒng)或原來缺省的系 統(tǒng)格式化成用戶所需要的、自定義的文件系統(tǒng),以滿足用戶的應(yīng)用要求;指令C0+文件格式+LRC校驗(yàn)指卡片按約定方式一進(jìn)行文件系統(tǒng)的創(chuàng)建返回⑶+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果指令Cn+文件格式+LRC校驗(yàn)指卡片按約定方式N進(jìn)行文件系統(tǒng)的創(chuàng)建返回Cn+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果如C0_按約定方式一的金融卡的PBOC標(biāo)準(zhǔn)建立文件系統(tǒng);4).用戶方發(fā)送建立密鑰系統(tǒng)命令用戶方對(duì)卡片進(jìn)行自定義的密鑰系統(tǒng)的創(chuàng)建,即將卡片內(nèi)已有的密鑰系統(tǒng)或原來缺省的密鑰系統(tǒng)格式化成用戶所需要的、自定義的密鑰系統(tǒng),以滿足用戶的自己的安全認(rèn) 證要求;指令D0+密鑰格式+LRC校驗(yàn)指卡片按密鑰方式一進(jìn)行密鑰系統(tǒng)的創(chuàng)建返回D0+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果指令Dn+密鑰格式+LRC校驗(yàn)指卡片按密鑰方式N進(jìn)行密鑰系統(tǒng)的創(chuàng)建返回Dn+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果如D0_按密鑰方式一的金融卡的PBOC標(biāo)準(zhǔn)建立密鑰系統(tǒng);5).用戶方發(fā)送讀寫命令用戶方對(duì)已建立的文件系統(tǒng)及密鑰系統(tǒng)寫入自定義的數(shù)據(jù)內(nèi)容,并讀取相應(yīng)的內(nèi) 容以保證寫入內(nèi)容的有效性與正確性;指令E0+基本信息+LRC校驗(yàn)指卡片按約定方式一進(jìn)行文件系統(tǒng)的讀寫操作返回E0+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果指令En+密鑰信息+LRC校驗(yàn)指卡片按約定方式N進(jìn)行文件系統(tǒng)的讀寫操作返回En+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果如E0-按約定方式一的金融卡的PBOC標(biāo)準(zhǔn)規(guī)范進(jìn)行內(nèi)容的讀寫操作;6).用戶方發(fā)送結(jié)束命令用戶發(fā)送結(jié)束指令,讓發(fā)卡機(jī)將已制成的卡片進(jìn)行外表處理,成為成品后,從指定 的地方輸出;指令F0+結(jié)束后流程+LRC校驗(yàn)指卡片按約定結(jié)束流程方式一進(jìn)行卡片的結(jié)束 工作返回F0+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果指令Fn+結(jié)束后流程+LRC校驗(yàn)指卡片按約定結(jié)束流程方式N進(jìn)行卡片的結(jié)束 工作返回Fn+返回代碼+LRC校驗(yàn)返回執(zhí)行結(jié)果如F0_按約定的方式一進(jìn)行卡上的卡號(hào)印刷及卡面打印,并輸出到指定的卡槽中。本發(fā)明的具體實(shí)施例之二 如發(fā)行一張符合金融IC卡的電子消費(fèi)卡的例子1).將卡裝入發(fā)卡機(jī)的發(fā)卡槽中,設(shè)置好發(fā)卡機(jī)的工作狀態(tài),啟動(dòng)發(fā)卡機(jī),發(fā)卡機(jī) 發(fā)送開始命令A(yù)0+LRC校驗(yàn)2).用戶應(yīng)用收到此命令,找到對(duì)應(yīng)的BO指令集,發(fā)送外部認(rèn)證命令BO+認(rèn)證指令+LRC校驗(yàn)認(rèn)證指令用于確認(rèn)當(dāng)前所用的卡片是否可以用于發(fā)行所要發(fā)行的卡片發(fā)卡機(jī)執(zhí)行命令后返回B0+應(yīng)答信息+LRC校驗(yàn)3).用戶應(yīng)用收到應(yīng)答信息后,根據(jù)應(yīng)答信息可以判斷出此卡片是否可以支持所 需要的卡片,若可以,則需要?jiǎng)?chuàng)建相應(yīng)的文件系統(tǒng)CO+創(chuàng)建文件命令+LRC校驗(yàn)創(chuàng)建文件命令可以多次發(fā)送,創(chuàng)建不同的文件,如基本信息文件、錢包文件、交易 記錄文件、管理文件等
發(fā)卡機(jī)執(zhí)行命令后返回⑶+應(yīng)答信息+LRC校驗(yàn)4).用戶應(yīng)用收到創(chuàng)建文件成功后,開始創(chuàng)建密鑰文件系統(tǒng)DO+創(chuàng)建密鑰文件命令+LRC校驗(yàn)創(chuàng)建密鑰文件也可以多次使用,創(chuàng)建出對(duì)應(yīng)于不同應(yīng)用、不同文件或不同的安全 等級(jí)的不同密鑰文件系統(tǒng)。如創(chuàng)建一級(jí)、二級(jí)、三級(jí)密鑰文件系統(tǒng),對(duì)于卡中的錢包操作、交易過程數(shù)據(jù)等屬 于最高等級(jí)的,使用一級(jí)密鑰系統(tǒng)進(jìn)行安全校驗(yàn),對(duì)于交易記錄、基本信息等修改屬于二級(jí) 安全等級(jí)的,使用二級(jí)密鑰系統(tǒng)進(jìn)行安全校驗(yàn),其它信息屬于一般信息,使用三級(jí)密鑰系統(tǒng) 進(jìn)行安全校驗(yàn)。發(fā)卡機(jī)執(zhí)行命令后返回D0+應(yīng)答信息+LRC校驗(yàn)5).用戶應(yīng)用收到創(chuàng)建成功應(yīng)答后,開始對(duì)相關(guān)文件系統(tǒng)進(jìn)行讀寫操作EO+讀寫操作信息+LRC校驗(yàn)如對(duì)卡的基本信息進(jìn)行寫操作、密鑰文件進(jìn)行讀寫信息操作等,將必要的信息寫 入相應(yīng)的文件系統(tǒng)內(nèi),并讀取部分信息進(jìn)行信息的有效性驗(yàn)證,以保證信息成功的被寫入 卡中。發(fā)卡機(jī)執(zhí)行命令后返回E0+應(yīng)答信息+LRC校驗(yàn)6).用戶應(yīng)用收到所有讀寫成功應(yīng)答后,發(fā)出結(jié)束寫卡后的操作命令,讓發(fā)卡機(jī)結(jié) 束發(fā)卡。FO+結(jié)束后流程+LRC校驗(yàn)如結(jié)束后流程內(nèi)容K01+卡號(hào)將卡號(hào)打印在卡面上,Κ15+圖案名稱將指定圖案打印在卡上,Κ31 將完成的卡片送到1號(hào)卡槽處等發(fā)卡機(jī)執(zhí)行命令后返回F0+應(yīng)答信息+LRC校驗(yàn)本發(fā)明的代碼實(shí)例1).發(fā)卡機(jī)開始指令10 :A0 6C 00(AO 發(fā)卡機(jī)開始命令,6C 00 =LRC校驗(yàn))2).外部認(rèn)證:11 =BO 00 A4 00 00 02 3F 00 86 C9(B0 外部認(rèn)證,86 C9 =LRC校驗(yàn),其它認(rèn)證命令)12 :B0 90 00 25 BE(B0 外部認(rèn)證,90 00 成功應(yīng)答,25 BE :LRC校驗(yàn))11 =BO 00 84 00 00 08 2A 34(B0 外部認(rèn)證,2A 34 :LRC校驗(yàn),其它認(rèn)證命令)12 =BO 31 32 33 34 35 36 37 38 41 35(B0:外部認(rèn)證,41 35 :LRC校驗(yàn),其它外部認(rèn)證返回值)......3).建立文件系統(tǒng)21 :C0 80 EO 00 01 07 28 00 OA FO AA FF FF 27 42(CO 建立文件系統(tǒng),27 42 :LRC校驗(yàn),其它文件系統(tǒng)內(nèi)容)
10
22 :C0 90 00 3F 7E(CO 建立文件系統(tǒng),90 00 成功應(yīng)答,3F 7E :LRC校驗(yàn))......4).建立密鑰系統(tǒng)31 :D0 80 EO 00 00 07 3F 00 50 FF FA FF FF 16 70(DO 建立密鑰系統(tǒng),16 70 :LRC校驗(yàn),其它密鑰系統(tǒng)內(nèi)容)32 :D0 90 00 3A 3E(DO 建立密鑰系統(tǒng),90 00 成功應(yīng)答,3A 3E :LRC校驗(yàn))......5).讀寫文件操作41 :E0 00 D6 81 00 02 01 00 B4 66(E0 寫文件,B4 66 :LRC校驗(yàn),其它寫文件內(nèi)容)42 :E0 90 00 35 FE(E0 寫文件,90 00 成功應(yīng)答,35 FE :LRC校驗(yàn))41 :E0 00 84 00 00 08 DF 3B(E0 讀文件,DF 3B LRC校驗(yàn),其它讀文件內(nèi)容)42 :E0 01 02 03 04 05 06 07 08 75 40(E0 寫文件,B4 66 :LRC校驗(yàn),其它讀文件返回)......6).完成指令51 :F0 4B 01 11 22 33 44 55 EA 41(F0 完成指令,EA 41 :LRC校驗(yàn),其它在卡面上寫卡號(hào))52 :F0 90 00 30 BE(F0 完成指令,90 00 成功應(yīng)答,30 BE :LRC校驗(yàn))51 :F0 4B 15 31 32 33 2e 6a 70 67 BD DA(F0 完成指令,BD DA :LRC校驗(yàn),其它打印指定圖案)52 :F0 90 00 30 BE(F0 完成指令,90 00 成功應(yīng)答,30 BE :LRC校驗(yàn))......LRC校驗(yàn)(縱向冗余碼校驗(yàn))LRC域是一個(gè)包含8位二進(jìn)制值的字節(jié),LRC值由傳輸設(shè)備來計(jì)算并放到消息幀 中,接收設(shè)備在接收消息的過程中計(jì)算LRC,并將它和接收到消息中LRC域中的值比較,如 果兩值不等,則說明有錯(cuò)誤。LRC校驗(yàn)如在ASCII協(xié)議中使用,它檢測(cè)了消息幀中除開始的冒號(hào)及結(jié)束的回車 換行號(hào)外的內(nèi)容,它僅僅是把每一個(gè)需要傳輸?shù)臄?shù)據(jù)按字節(jié)疊加后取反再加1即可。本發(fā)明能夠兼容不同發(fā)卡機(jī),發(fā)行不同類型的智能卡的接口協(xié)議的方法,即相關(guān) 發(fā)卡機(jī)按此協(xié)議方法接口開發(fā)出API接口,這樣此發(fā)卡機(jī)可以通過此協(xié)議發(fā)出所有需要的 智能卡。
權(quán)利要求
1. 一種兼容多種發(fā)卡機(jī)和用戶卡規(guī)格的通用接口的方法,其特征在于該方法通過運(yùn) 行于發(fā)卡機(jī)與發(fā)卡方之間的通訊協(xié)議,通過對(duì)發(fā)卡設(shè)備進(jìn)行一次性的開發(fā),向需要的企業(yè) 提供各種發(fā)卡方法;該協(xié)議根據(jù)標(biāo)準(zhǔn)的智能卡技術(shù)應(yīng)用規(guī)范的要求,分解出不同的指令,以 不同的命令字的方式來解釋不同的指令功能,來對(duì)應(yīng)于發(fā)卡機(jī)的不同指令集,具體包括以 下步驟步驟1.開始指令(1)發(fā)卡機(jī)準(zhǔn)備就緒,請(qǐng)求發(fā)卡開始,發(fā)出請(qǐng)求開始命令(10),為A系列指令,同時(shí)表示發(fā) 卡機(jī)自檢完成,發(fā)卡機(jī)自檢結(jié)束后,開始觸發(fā)整個(gè)發(fā)卡過程,發(fā)出可以開始指令(1)的發(fā)卡 請(qǐng)求命令;步驟2.外部認(rèn)證O)a).發(fā)送外部認(rèn)證指令執(zhí)行完開始指令(1)模塊后,開始指令(1)模塊的輸出信號(hào)傳遞到外部認(rèn)證( 模塊, 外部認(rèn)證(2)模塊認(rèn)證卡片的有效性,用戶應(yīng)用系統(tǒng)認(rèn)證卡片規(guī)格是否符合要求,找到對(duì) 應(yīng)的B系列指令,發(fā)送外部認(rèn)證指令(11),再根據(jù)外部認(rèn)證應(yīng)答(1 來確認(rèn)此卡片符合或 不符合規(guī)定;b).判斷是否可以發(fā)行用戶應(yīng)用收到應(yīng)答信息后,根據(jù)應(yīng)答信息可以判斷出此卡片是否可以發(fā)行,若可以,則 需要?jiǎng)?chuàng)建相應(yīng)的文件系統(tǒng),進(jìn)入建文件系統(tǒng)(3)模塊;若不可以,則反饋進(jìn)入開始指令(1) 模塊的輸入端;步驟3.建文件系統(tǒng)(3)當(dāng)外部認(rèn)證(2)模塊判斷出此卡片可以發(fā)行,則進(jìn)入建文件系統(tǒng)(3)模塊,建立用戶 自定義的文件系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出自定義的建立文件系統(tǒng)指令(21),為C系列指令,創(chuàng) 建文件系統(tǒng);同時(shí)根據(jù)建立文件系統(tǒng)應(yīng)答02)信息,來判斷文件系統(tǒng)創(chuàng)建成功與否;若創(chuàng) 建成功,則進(jìn)入建密鑰系統(tǒng)(4)模塊;若創(chuàng)建不成功,則反饋進(jìn)入開始指令(1)模塊的輸入 端;步驟4.建密鑰系統(tǒng)a).創(chuàng)建密鑰文件用戶應(yīng)用收到創(chuàng)建文件成功后,則進(jìn)入建密鑰系統(tǒng)(4)模塊;開始創(chuàng)建密鑰文件系統(tǒng), 建立用戶自定義的密鑰系統(tǒng),建立密鑰系統(tǒng)指令(31),用戶應(yīng)用系統(tǒng)發(fā)出自定義的密鑰系 統(tǒng)指令,為D系列指令,創(chuàng)建密鑰系統(tǒng);同時(shí)根據(jù)建立密鑰系統(tǒng)的應(yīng)答(32)信息,來判斷密 鑰系統(tǒng)創(chuàng)建成功與否;若創(chuàng)建成功,則進(jìn)入讀寫指令(5)模塊;若創(chuàng)建不成功,則反饋進(jìn)入 開始指令(1)模塊的輸入端;b).創(chuàng)建不同密鑰文件系統(tǒng)創(chuàng)建密鑰文件可以多次使用,創(chuàng)建出對(duì)應(yīng)于不同應(yīng)用、不同文件及不同的安全等級(jí)的 不同密鑰文件系統(tǒng);步驟5.讀寫指令(5)a).進(jìn)行讀寫操作用戶應(yīng)用收到創(chuàng)建成功應(yīng)答后,開始對(duì)相關(guān)文件系統(tǒng)進(jìn)入讀寫指令(5)模塊,進(jìn)行讀 寫操作,將用戶自定義的信息寫入文件、密鑰系統(tǒng),用戶應(yīng)用系統(tǒng)發(fā)出讀寫命令(41),為E系列指令,對(duì)文件、密鑰系統(tǒng)進(jìn)行讀寫操作;同時(shí)根據(jù)讀寫指令的讀寫應(yīng)答02)信息,來判 斷讀寫操作是否成功;若讀寫操作完成,則進(jìn)入完成指令(6)模塊;若讀寫操作沒有完成, 則反饋進(jìn)入開始指令(1)模塊的輸入端; b).信息寫入卡中對(duì)卡的基本信息進(jìn)行寫操作、密鑰文件進(jìn)行讀寫信息操作,將必要的信息寫入相應(yīng)的 文件系統(tǒng)內(nèi),并讀取部分信息進(jìn)行信息的有效性驗(yàn)證,以保證信息成功的被寫入卡中; 步驟6.結(jié)束指令(6)a).結(jié)束發(fā)卡用戶應(yīng)用收到所有讀寫成功應(yīng)答后,則進(jìn)入結(jié)束指令(6)模塊,發(fā)出結(jié)束寫卡后的操 作命令,讓發(fā)卡機(jī)結(jié)束發(fā)卡;b).卡片傳出到指定卡箱中用戶應(yīng)用系統(tǒng)發(fā)出完成指令(51)操作結(jié)束,為F系列指令;同時(shí)根據(jù)完成應(yīng)答(52)信 息,來結(jié)束應(yīng)答,發(fā)卡機(jī)則自動(dòng)將完成的卡片傳出到指定卡箱中,返回結(jié)束應(yīng)答。
全文摘要
一種涉及信息技術(shù)領(lǐng)域?yàn)楫a(chǎn)品服務(wù)的通訊協(xié)議,尤指在發(fā)卡的過程中針對(duì)不同類型的發(fā)卡設(shè)備,為統(tǒng)一通訊接口協(xié)議而發(fā)明的一種通用接口的通訊協(xié)議,即兼容多種發(fā)卡機(jī)和用戶卡規(guī)格的通用接口的方法。該方法為通過運(yùn)行于發(fā)卡機(jī)與發(fā)卡方之間的通訊協(xié)議,通過對(duì)發(fā)卡設(shè)備進(jìn)行一次性的開發(fā),向需要的企業(yè)提供各種更好的發(fā)卡方法;該協(xié)議根據(jù)標(biāo)準(zhǔn)的智能卡技術(shù)應(yīng)用規(guī)范的要求,分解出不同的指令,以不同的命令字的方式來解釋不同的指令功能,來對(duì)應(yīng)于發(fā)卡機(jī)的不同指令集;主要解決如何實(shí)現(xiàn)能兼容當(dāng)前多數(shù)發(fā)卡機(jī)通用的發(fā)卡指令的數(shù)據(jù)格式等有關(guān)技術(shù)問題。本發(fā)明的積極效果是擺脫了傳統(tǒng)的發(fā)卡命令必須信賴于發(fā)卡機(jī)的指令集,方便了發(fā)卡設(shè)備方和用戶方,解決了發(fā)卡設(shè)備一次開發(fā)到位的問題,避免了二次開發(fā),提高了工作效率。
文檔編號(hào)H04L29/06GK102075491SQ20091020184
公開日2011年5月25日 申請(qǐng)日期2009年11月20日 優(yōu)先權(quán)日2009年11月20日
發(fā)明者伍明遠(yuǎn), 鄭文萍 申請(qǐng)人:上海亞太計(jì)算機(jī)信息系統(tǒng)有限公司