亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在java消息傳遞服務(wù)中利用證書驗證的制作方法

文檔序號:6549371閱讀:137來源:國知局
專利名稱:在java消息傳遞服務(wù)中利用證書驗證的制作方法
技術(shù)領(lǐng)域
本發(fā)明的領(lǐng)域是數(shù)據(jù)處理,或更具體地,是用于在JavaTM消息傳遞服務(wù)中利用證書驗證的方法、系統(tǒng)和產(chǎn)品。
背景技術(shù)
Java消息傳遞服務(wù)(“JMS”)提供了用于Java應(yīng)用使用點到點和發(fā)布/訂閱消息傳遞接口進(jìn)行通信的標(biāo)準(zhǔn)途徑。在安全環(huán)境中部署的JMS應(yīng)用在調(diào)用點到點和發(fā)布/訂閱消息傳遞接口之前需要對用戶身份進(jìn)行驗證。在安全環(huán)境中,即在Java安全域中操作的用戶應(yīng)用在該用戶應(yīng)用登錄到該安全環(huán)境中時,獲得Java驗證證書。已經(jīng)擁有了驗證證書(在本說明書中稱作“預(yù)驗證證書”)的用戶應(yīng)用在請求到JMS隊列或主題(topic)的JMS連接時仍然需要呈現(xiàn)用戶名和口令。也就是說,現(xiàn)行JMS規(guī)范允許使用用于發(fā)布/訂閱消息傳遞的createTopicConnection()方法和用于點到點消息傳遞的createQueueConnection()進(jìn)行驗證,這兩個方法都不會接受用戶應(yīng)用的預(yù)驗證證書,盡管如果它們接受的話,安全操作可能是更高效的。

發(fā)明內(nèi)容
本發(fā)明提供了一種用于在Java消息傳遞服務(wù)(“JMS”)中利用證書驗證的方法、系統(tǒng)和產(chǎn)品。本發(fā)明的實施例包括為用戶應(yīng)用提供用于Java安全域的預(yù)驗證證書;以及為該用戶應(yīng)用創(chuàng)建JMS連接,包括在JMS連接功能中接受預(yù)驗證證書,并根據(jù)該預(yù)驗證證書為JMS驗證該用戶應(yīng)用。本發(fā)明的典型實施例還包括將預(yù)驗證證書緩存在用戶應(yīng)用中。許多實施例還包括將預(yù)驗證證書緩存在中間件安全應(yīng)用中。
在本發(fā)明的許多實施例中,為用戶應(yīng)用提供預(yù)驗證證書包括保留預(yù)驗證證書的實例,序列化(serialize)該預(yù)驗證證書,并向用戶應(yīng)用提供序列化的預(yù)驗證證書。在本發(fā)明的許多實施例中,在JMS連接功能中接受預(yù)驗證證書包括在JMS連接功能中接受序列化的預(yù)驗證證書。在本發(fā)明的許多實施例中,根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用包括將在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行反序列化,并將反序列化的在JMS連接功能中所接受的預(yù)驗證證書與所保留的預(yù)驗證證書的實例進(jìn)行比較。
在本發(fā)明的許多實施例中,為用戶應(yīng)用提供預(yù)驗證證書包括序列化預(yù)驗證證書,保留序列化的預(yù)驗證證書的副本,并將序列化的預(yù)驗證證書提供給該用戶應(yīng)用。在本發(fā)明的許多實施例中,在JMS連接功能中接受預(yù)驗證證書包括在JMS連接功能中接受序列化的預(yù)驗證證書。在本發(fā)明的許多實施例中,根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用包括將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較。
在許多實施例中,保留序列化的預(yù)驗證證書的副本的步驟包括對該序列化的預(yù)驗證證書進(jìn)行散列,并存儲該序列化的預(yù)驗證證書的散列;以及將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的步驟包括對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行散列,并將在JMS連接功能中所接受的序列化的預(yù)驗證證書的散列與所存儲的序列化預(yù)驗證證書的散列進(jìn)行比較。
在本發(fā)明的許多實施例中,為用戶應(yīng)用提供預(yù)驗證證書的步驟包括字符串化(stringify)該預(yù)驗證證書,保留該字符串化的預(yù)驗證證書的副本,并將該字符串化的預(yù)驗證證書提供給該用戶應(yīng)用。在本發(fā)明的許多實施例中,在JMS連接功能中接受預(yù)驗證證書包括在JMS連接功能中接受字符串化的預(yù)驗證證書。在本發(fā)明的許多實施例中,根據(jù)預(yù)驗證證書為JMS驗證該用戶應(yīng)用包括將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較。在本發(fā)明的許多實施例中,保留字符串化的預(yù)驗證證書的副本包括對針對用戶應(yīng)用的該字符串化的預(yù)驗證證書進(jìn)行散列,并存儲該字符串化的預(yù)驗證證書的散列;以及將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的步驟包括對在JMS連接功能中所接受的字符串化的預(yù)驗證證書進(jìn)行散列,并將在JMS連接功能中所接受的字符串化的預(yù)驗證證書的散列與所存儲的字符串化的預(yù)驗證證書的散列進(jìn)行比較。
從下面對附圖中所示出的本發(fā)明示例性實施例的更加具體的說明中,本發(fā)明的上述和其他目的、特征和優(yōu)點將顯而易見,在這些附圖中相同的參考標(biāo)號一般代表本發(fā)明示例性實施例的相同部件。


圖1示出根據(jù)本發(fā)明實施例的用于在Java消息傳遞服務(wù)中的驗證證書的示例性系統(tǒng)的方框圖。
圖2示出根據(jù)本發(fā)明實施例的包括可用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的計算機(jī)的示例性自動化計算機(jī)器的方框圖。
圖3示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的示例性方法的數(shù)據(jù)流程圖。
圖4示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖。
圖5示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖。
圖6示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖。
圖7示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖。
圖8示出圖示用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖。
具體實施例方式
在本說明書中,本發(fā)明在很大程度上是就用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的方法描述的。但是,本領(lǐng)域的技術(shù)人員將認(rèn)識到,任何包括用于根據(jù)所公開的方法操作的適當(dāng)程序運(yùn)行裝置的計算機(jī)系統(tǒng)也完全落入本發(fā)明的范圍之內(nèi)。適當(dāng)?shù)某绦蜻\(yùn)行裝置包括用于指導(dǎo)計算機(jī)系統(tǒng)執(zhí)行本發(fā)明的方法步驟的任何裝置,包括例如包括連接到計算機(jī)存儲器的處理單元和算術(shù)邏輯電路的系統(tǒng),該系統(tǒng)具有在計算機(jī)存儲器中進(jìn)行存儲的能力,該計算機(jī)存儲器包括被設(shè)置為存儲數(shù)據(jù)和程序指令的電子電路,這些程序指令是用于由處理單元執(zhí)行的本發(fā)明的方法的程序化步驟。本發(fā)明還可實現(xiàn)于諸如軟盤或其他可記錄介質(zhì)的計算機(jī)程序產(chǎn)品中,以便與任何適當(dāng)?shù)臄?shù)據(jù)處理系統(tǒng)一起使用。可使用用于機(jī)器可讀信息的任何記錄介質(zhì)來實現(xiàn)計算機(jī)程序產(chǎn)品的實施例,所述記錄介質(zhì)包括磁介質(zhì)、光介質(zhì)或其他適當(dāng)介質(zhì)。本領(lǐng)域技術(shù)人員將立即認(rèn)識到,任何具有適當(dāng)程序運(yùn)行裝置的計算機(jī)系統(tǒng)都將能夠執(zhí)行如程序產(chǎn)品中所實現(xiàn)的本發(fā)明方法的步驟。本領(lǐng)域的技術(shù)人員將立即認(rèn)識到,雖然本說明書中所描述的許多示例性實施例面向于在計算機(jī)硬件上安裝并執(zhí)行的軟件,但是,實現(xiàn)為固件或硬件的其他可選實施例同樣落入本發(fā)明的范圍內(nèi)。
參照從圖1開始的附圖公開了用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的示例性方法、系統(tǒng)和產(chǎn)品。圖1示出根據(jù)本發(fā)明實施例的用于在Java消息傳遞服務(wù)中的驗證證書的示例性系統(tǒng)的方框圖。圖1的系統(tǒng)包括在用戶應(yīng)用304請求時提供到消息傳遞主題或隊列的JMS連接的Java消息傳遞服務(wù)(“JMS”)。JMS支持兩個消息傳遞“域”(domain),一個用于發(fā)布/訂閱消息傳遞,而另一個用于點到點消息傳遞。JMS提供由用戶應(yīng)用在向JMS主題116發(fā)送消息時使用的主題連接102。JMS提供在用戶應(yīng)用向JMS隊列118發(fā)送消息時使用的隊列連接104。
在圖1的系統(tǒng)中,用戶應(yīng)用304是能夠發(fā)送或接收J(rèn)MS消息的任何Java應(yīng)用。用戶應(yīng)用304利用驗證引擎302執(zhí)行初始驗證110,籍此獲得用于Java安全域的經(jīng)驗證的證書106,該Java安全域也就是用戶應(yīng)用304在其中執(zhí)行的Java安全域。驗證引擎302是任何能夠驗證用戶應(yīng)用并提供用于Java安全域的經(jīng)驗證的證書的驗證服務(wù)。這種驗證引擎的例子包括Java驗證和授權(quán)服務(wù)(“JAAS”)驗證引擎、和Tivoli Access ManagerAuthorization ServerTM(Tivoli訪問管理器授權(quán)服務(wù)器)。
本說明書中,因為證書106在用戶應(yīng)用304獲得它們的時候已經(jīng)被驗證,且因為它們隨后在JMS驗證中再次被使用,所以認(rèn)為它們是“預(yù)驗證的”。在Java驗證規(guī)范中未指定證書對象的形式,因此用于Java安全域的預(yù)驗證證書可以是任何可保存在Java對象中的安全數(shù)據(jù),包括例如本領(lǐng)域技術(shù)人員會想到的Kerberos令牌、數(shù)字簽名、序列化證書、字符串化證書等。
除了向用戶應(yīng)用304提供預(yù)驗證證書106之外,驗證引擎302還可以在某種有用的形式,即序列化、字符串化、散列化的Java對象等中保留證書108,以便以后用于隨后來自例如Java消息傳遞服務(wù)303的驗證請求?;蛘撸炞C引擎302可以使得證書對中間件安全應(yīng)用326可用,以便以后用于隨后來自例如Java消息傳遞服務(wù)303的驗證請求。驗證引擎302可通過將證書緩存在中間件安全應(yīng)用326中、通過允許中間件安全應(yīng)用326緩存證書以便以后使用、或通過允許中間件安全應(yīng)用326訪問緩存在驗證引擎中的證書來使得這些證書對中間件安全應(yīng)用326可用。
中間件安全應(yīng)用326是任何可根據(jù)本發(fā)明的實施例被適應(yīng)性修改的消息傳遞或安全中間件,包括例如中間Java消息傳遞服務(wù)、Java遠(yuǎn)程調(diào)用(“JRI”)服務(wù)、通用對象請求代理體系結(jié)構(gòu)(“CORBA”)消息傳遞服務(wù)、IBM MQ系列TM消息傳遞服務(wù)、或Tivoli的Access Manager ForWebsphere Business Integration BrokerTM(用于Websphere業(yè)務(wù)集成代理的訪問管理器)。也就是說,中間件安全應(yīng)用302是能夠代表Java消息傳遞服務(wù)303,即為Java消息傳遞服務(wù)303的以后使用而緩存證書的任何中間件。在這一體系結(jié)構(gòu)中,當(dāng)多個JMS應(yīng)用或多個應(yīng)用層需要為相同用戶應(yīng)用驗證時,則使用中間件安全服務(wù)器可通過為每個企業(yè)保持一個證書緩存而將此集中化。然后,所有的JMS應(yīng)用可為JMS驗證而經(jīng)歷這一中間件安全性。對于每一用戶應(yīng)用,第一次驗證110將是一完全的“重型”驗證,包括LoginContext的實例化、對LoginContext.login()的調(diào)用等或類似物。作為這一重型驗證的結(jié)果而獲得的證書將存儲在緩存中。所有隨后可能來自不同JMS應(yīng)用的對于相同用戶的驗證請求都將由這一證書緩存來滿足。
用戶應(yīng)用304將預(yù)驗證證書106保留或“緩存”在用戶應(yīng)用304自身中,以便以后用于一個或多個對JMS連接的請求中。Java消息傳遞服務(wù)303在從用戶應(yīng)用304接收到伴隨著預(yù)驗證證書106的連接請求120時,通過將用戶應(yīng)用304提供的證書106與保留在驗證引擎302中、或保留在中間件安全應(yīng)用326中的證書108進(jìn)行比較,來驗證用戶應(yīng)用304。
根據(jù)本發(fā)明實施例的在Java消息傳遞服務(wù)303中利用證書的驗證一般是利用計算機(jī)、即利用實現(xiàn)自動化計算機(jī)器的裝置來實現(xiàn)的。自動化計算機(jī)器的例子包括如本領(lǐng)域技術(shù)人員能夠想到的個人計算機(jī)、小型計算機(jī)、大型計算機(jī)、膝上型計算機(jī)、PDA、網(wǎng)絡(luò)使能的移動電話、其他無線手持設(shè)備等。
為了進(jìn)一步解釋,圖2示出根據(jù)本發(fā)明實施例的包括可用于在Java消息傳遞服務(wù)中利用證書的驗證中的計算機(jī)134的示例性自動化計算機(jī)器的方框圖。圖2的計算機(jī)134包括至少一個計算機(jī)處理器156或“CPU”,以及隨機(jī)存取存儲器168(“RAM”)。存儲在RAM 168中以便在計算機(jī)134上運(yùn)行的是用戶應(yīng)用304、驗證引擎302、Java消息傳遞服務(wù)303、和中間件安全應(yīng)用326。雖然用戶應(yīng)用304、驗證引擎302、Java消息傳遞服務(wù)303、和中間件安全應(yīng)用326一起顯示在計算機(jī)134上的RAM中,但是讀者將理解,所有這些部件實際上可根據(jù)本發(fā)明的實施例被安裝和操作于分離的計算機(jī)上。
存儲在RAM 168中的還有操作系統(tǒng)154??捎糜诟鶕?jù)本發(fā)明實施例的計算機(jī)中的操作系統(tǒng)包括Unix、Linux、Microsoft NTTM、和本領(lǐng)域技術(shù)人員能夠想到的許多其他操作系統(tǒng)。在圖2示例中的操作系統(tǒng)154顯示于RAM 168中,但是一個操作系統(tǒng)中的許多部件通常也存儲在非易失性存儲器166中。
圖2的計算機(jī)134包括通過計算機(jī)總線160連接到處理器156和計算機(jī)134的其他部件的非易失性計算機(jī)存儲器166。非易失性計算機(jī)存儲器166可實現(xiàn)為硬盤驅(qū)動器170、光盤驅(qū)動器172、電可擦除可編程只讀存儲器空間(所謂的“EEPROM”或“快閃”存儲器)174、RAM驅(qū)動器(未示出)、或本領(lǐng)域技術(shù)人員能夠想到的任何其他種類的計算機(jī)存儲器。
圖2的示例性計算機(jī)134包括通信適配器167,用于實現(xiàn)用于數(shù)據(jù)通信184的、包括通過網(wǎng)絡(luò)的連接的到其他計算機(jī)182的連接。在根據(jù)本發(fā)明實施例的系統(tǒng)中,許多部件可以遠(yuǎn)程存儲和操作。實際上,這種系統(tǒng)的所有主要部件,即驗證引擎、Java消息傳遞服務(wù)、用戶應(yīng)用和中間件安全應(yīng)用可實際安裝和操作于分離的計算機(jī)上。通信適配器實現(xiàn)用于數(shù)據(jù)通信的連接的硬件級,本地設(shè)備和遠(yuǎn)程設(shè)備或服務(wù)器通過這種連接相互直接以及通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)通信。對于根據(jù)本發(fā)明實施例在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證有用的通信適配器的例子包括用于有線撥號連接的調(diào)制解調(diào)器、用于有線網(wǎng)絡(luò)連接的以太網(wǎng)(IEEE 802.3)適配器、和用于無線網(wǎng)絡(luò)連接的802.11b適配器。
圖2的示例性計算機(jī)包括一個或多個輸入/輸出接口適配器178。計算機(jī)中的輸入/輸出接口適配器實現(xiàn)通過例如軟件驅(qū)動程序和計算機(jī)硬件的面向用戶的輸入/輸出,這些軟件驅(qū)動程序和計算機(jī)硬件用于控制到諸如計算機(jī)顯示屏的顯示設(shè)備180的輸出、以及來自諸如鍵盤和鼠標(biāo)的用戶輸入設(shè)備181的用戶輸入。
為了進(jìn)一步解釋,圖3示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的示例性方法的數(shù)據(jù)流程圖,其中包括為用戶應(yīng)用304提供306用于Java安全域的預(yù)驗證證書314。如上所述,因為證書在用戶應(yīng)用304獲得它們的時候已經(jīng)被驗證,且因為它們隨后在JMS驗證中再次被使用,所以認(rèn)為它們是“預(yù)驗證的”。在Java驗證規(guī)范中未指定證書對象的形式,因此用于Java安全域的預(yù)驗證證書可以是任何可保存在Java對象中的安全數(shù)據(jù),包括例如本領(lǐng)域技術(shù)人員能夠想到的Kerberos令牌、數(shù)字簽名、序列化證書、字符串化證書等。
在圖3的示例中,可在例如用戶應(yīng)用304向JAAS驗證引擎初始登錄時,實現(xiàn)為用戶應(yīng)用304提供306用于Java安全域的預(yù)驗證證書314。也就是說,該用戶應(yīng)用可實例化一個JAAS LoginContext,并調(diào)用它的login()方法,該方法又轉(zhuǎn)而識別并實例化一個或多個LoginModules,并調(diào)用它們的login()方法,這最終導(dǎo)致創(chuàng)建作為用于Java安全域的預(yù)驗證證書的、使得對于進(jìn)行調(diào)用的用戶應(yīng)用可用的Java安全證書。這種證書的標(biāo)準(zhǔn)形式是與Subject對象中的Principal對象相關(guān)的Java證書對象。Subject代表在Java安全域中進(jìn)行驗證的用戶應(yīng)用。每個Principal對象代表Subject的一可選的有效身份,且每個Principal可具有相關(guān)的安全證書。
用戶應(yīng)用在實例化一個LoginContext時,可提供帶有它自己的Principal的它自己的SubjectLoginContext(String name,Subject subject),以便可以根據(jù)本發(fā)明的實施例修改這樣提供的在Subject中所引入的Principal,以包括用于提供與該P(yáng)rincipal相關(guān)的有用形式的預(yù)驗證證書的方法。這種附加方法可包括例如用于以字符串形式返回證書的稱為stringfyCredentials()的方法,或用于返回序列化的證書的稱為serializeCredentials()或getPAC()的方法。
圖3的方法還包括將預(yù)驗證證書314、318緩存322在用戶應(yīng)用304中,以便以后用于諸如涉及建立與JMS主題或隊列的JMS連接的JMS驗證的隨后的驗證過程中。示例性用戶應(yīng)用304將預(yù)驗證證書314保留或“緩存”在用戶應(yīng)用304自身當(dāng)中,以便以后用于一個或多個對JMS連接的請求中。在圖3的例子中,驗證引擎302還在某種有用的形式,即序列化、字符串化、散列化的Java對象等中保留證書,以便以后用于來自例如Java消息傳遞服務(wù)303的隨后的驗證請求。
圖3的方法還包括將預(yù)驗證證書315、320緩存324在中間件安全應(yīng)用326中。在圖3的例子中,驗證引擎302通過在中間件安全應(yīng)用326中緩存證書、或通過允許中間件安全應(yīng)用326緩存證書以便以后使用,而使得預(yù)驗證證書對中間件安全應(yīng)用326可用,以便以后用于隨后的驗證請求。
圖3的方法包括為用戶應(yīng)用創(chuàng)建308JMS連接,這包括在JMS連接功能中接受310預(yù)驗證證書314,并根據(jù)預(yù)驗證證書314為JMS 303驗證312用戶應(yīng)用304。Java消息傳遞服務(wù)303在從用戶應(yīng)用304接收到伴隨著預(yù)驗證證書314的連接請求時,通過將用戶應(yīng)用提供的證書304與保留在驗證引擎302中、或保留在中間件安全應(yīng)用326中的證書320進(jìn)行比較,來驗證312用戶應(yīng)用304。
可如下述用于一點到點連接的示例性Java偽代碼段中所例示的來實現(xiàn)在JMS連接功能中接受310預(yù)驗證證書314,并根據(jù)預(yù)驗證證書314為JMS 303驗證312用戶應(yīng)用304//獲得用于點到點JMS域的連接QueueConnection queueConnection=queueConnectionFactory.createQueueConnection(name,credentials);//使用該連接建立點到點會話QueueSession queueSession=queueConnection.createQueueSession(…);∥創(chuàng)建發(fā)送者并向JMS隊列發(fā)送消息QueueSender queueSender=queueSession.createSender(aJMSQueue);QueueSender.send(aMessage);這一示例性JMS段創(chuàng)建名為queueConnection的連接,創(chuàng)建名為queueSession的會話,創(chuàng)建名為queueSender的發(fā)送者,并向JMS隊列發(fā)送消息。createQueueConnection()方法的功能包括對進(jìn)行調(diào)用的用戶應(yīng)用的驗證。在標(biāo)準(zhǔn)JMS接口中,createQueueConnection()只由下述兩個簽名來覆蓋(overridden)createQueueConnection()createQueueConnection(String name,String password)其中只有一個接受形式為用戶名和口令對的驗證數(shù)據(jù),該用戶名和口令對被對照著用戶名和口令的文件、或?qū)φ罩ǔMㄟ^JNDI(“Java命名和目錄接口”)訪問的LDAP(“輕量目錄訪問協(xié)議”)目錄所驗證。
根據(jù)本發(fā)明的實施例,例如通過改變createQueueConnection()或它在特定系統(tǒng)中的類似物的驗證機(jī)制而將其改變?yōu)榻邮茴A(yù)驗證證書。例如,可在“password”參數(shù)中將預(yù)驗證證書傳遞給createQueueConnection(Stringname,String password)?;蛘?,可由另一簽名來覆蓋createQueueConnection()createQueueConnection(String name,Credential credentials)從而產(chǎn)生該功能的、接受在預(yù)驗證證書自己的類中的預(yù)驗證證書的版本。在這一示例中,“Credential”類可以是JAAS證書對象的類本身,或者它可以是保存序列化證書或字符串化證書的類?!皀ame”參數(shù)可以例如從JAAS Subject中的JAAS Principal中提取。
或者,可如下述用于發(fā)布/訂閱連接的示例性Java偽代碼段中所例示的來實現(xiàn)在JMS連接功能中接受310預(yù)驗證證書314,并根據(jù)預(yù)驗證證書314為JMS 303驗證312用戶應(yīng)用304//獲得用于發(fā)布/訂閱JMS域的連接
TopicConnection topicConnection=topicConnectionFactory.createTopicConnection(name,credentials);//使用該連接建立發(fā)布/訂閱會話TopicSession topicSession=topicConnection.createTopicSession(…)//創(chuàng)建發(fā)布者并向JMS主題發(fā)布消息TopicPublisher topicPublisher=topicSession.createPublisher(aJMSTopic);topicPublisher.publish(aMessage);這一示例性JMS段創(chuàng)建名為topicConnection的連接,創(chuàng)建名為topicSession的會話,創(chuàng)建名為topicPublisher的發(fā)布方,并向JMS主題發(fā)布消息。createTopicConnection()方法的功能包括對進(jìn)行調(diào)用的用戶應(yīng)用的驗證。在標(biāo)準(zhǔn)JMS接口中,createTopicConnection()如同它的同等者createQueueConnection()一樣,只由下述兩個簽名來覆蓋createTopicConnection()createTopicConnection(String name,String password)其中只有一個接受形式為用戶名和口令對的驗證數(shù)據(jù),該用戶名和口令對被對照著用戶名和口令的文件、或?qū)φ罩ǔMㄟ^JNDI訪問的LDAP目錄所驗證。
根據(jù)本發(fā)明的實施例,例如通過將createTopicConnection()或它在特定系統(tǒng)中的類似物的驗證機(jī)制改變?yōu)榻邮茴A(yù)驗證證書而對createTopicConnection()或它的類似物進(jìn)行改變??稍凇皀ame”參數(shù)或在“password”參數(shù)中將預(yù)驗證證書傳遞給createTopicConnection(Stringname,String password)?;蛘?,可由下述另一個簽名來覆蓋createTopicConnection()
createTopicConnection(String name,Credential credentials)從而產(chǎn)生該功能的、接受在預(yù)驗證證書自己的類中的預(yù)驗證證書的版本。在這一示例中,“Credential”類可以是JAAS證書對象的類本身,或者它可以是保存序列化證書或字符串化證書的類?!皀ame”參數(shù)可以例如從JAAS Subject中的JAAS Principal中提取。
如上面所討論的,預(yù)驗證證書可以由驗證引擎或中間件安全應(yīng)用以各種有用的形式來保留,以便以后用于隨后的驗證請求。為了進(jìn)一步解釋,圖4-8示出圖3中的使用由驗證引擎或中間件安全應(yīng)用以不同形式所保留的證書的方法的其他示例性實現(xiàn)。圖4示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的示例性方法的數(shù)據(jù)流程圖,其中通過序列化預(yù)驗證證書并將序列化的預(yù)驗證證書328提供給用戶應(yīng)用304,來實現(xiàn)為該用戶應(yīng)用提供306預(yù)驗證證書。示例性用戶應(yīng)用304將序列化的預(yù)驗證證書328保留或“緩存”在用戶應(yīng)用304自身中,以便以后用于對JMS連接的一個或多個請求中。
在圖4的示例中,還可通過保留預(yù)驗證證書的實例,以便以后用于隨后的例如來自Java消息傳遞服務(wù)303的驗證請求,來實現(xiàn)為用戶應(yīng)用304提供306預(yù)驗證證書。圖4的示例顯示了保留預(yù)驗證證書的實例的兩種方式。所保留的預(yù)驗證證書的實例315可以保留在驗證引擎302中,或者所保留的預(yù)驗證證書的實例320可以緩存324在中間件安全應(yīng)用326中。
在圖4的方法中,通過在諸如createQueueConnection(Credentialcredentials)或createTopicConnection(Credential credentials)的JMS連接功能中接受310序列化的預(yù)驗證證書328,來實現(xiàn)在JMS連接功能中接受310預(yù)驗證證書。因此,在圖4的方法中,通過對在JMS連接功能中所接受的序列化預(yù)驗證證書進(jìn)行反序列化,并將反序列化的在JMS連接功能中所接受的預(yù)驗證證書與所保留的預(yù)驗證證書的實例進(jìn)行比較,來實現(xiàn)根據(jù)預(yù)驗證證書為JMS驗證312用戶應(yīng)用。從驗證引擎自身302中獲得所保留的預(yù)驗證證書的實例315以用于比較,或者從中間件安全應(yīng)用326中獲得所保留的預(yù)驗證證書的實例320以用于比較。
為了進(jìn)一步解釋,圖5示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步示例性方法的數(shù)據(jù)流程圖,其中通過序列化預(yù)驗證證書、保留序列化的預(yù)驗證證書的副本、并將序列化的預(yù)驗證證書328提供給用戶應(yīng)用,來實現(xiàn)為該用戶應(yīng)用提供306預(yù)驗證證書。可通過將序列化預(yù)驗證證書的一個副本329保留在驗證引擎中,或通過將序列化預(yù)驗證證書的一個副本330“緩存”在中間件安全應(yīng)用326中,來實現(xiàn)保留序列化預(yù)驗證證書的副本。
在圖5的方法中,通過在JMS連接功能中接受310序列化的預(yù)驗證證書328,來實現(xiàn)在JMS連接功能中接受310預(yù)驗證證書。在圖5的方法中,根據(jù)預(yù)驗證證書為JMS驗證312用戶應(yīng)用的步驟進(jìn)一步包括將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化預(yù)驗證證書的副本進(jìn)行比較。在這一示例中,或者從驗證引擎自身329中或者從中間件安全應(yīng)用330中獲得所保留的序列化預(yù)驗證證書的副本,以用于比較。
為了進(jìn)一步解釋,圖6示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步的示例性方法的數(shù)據(jù)流程圖,其中通過對序列化預(yù)驗證證書進(jìn)行散列并存儲序列化預(yù)驗證證書的散列334、336,來實現(xiàn)保留序列化預(yù)驗證證書的副本??赏ㄟ^將序列化預(yù)驗證證書的散列334存儲在驗證引擎302中,或通過將散列336“緩存”324在中間件安全應(yīng)用326中,來實現(xiàn)存儲序列化預(yù)驗證證書的散列。
在圖6的方法中,將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化預(yù)驗證證書的副本進(jìn)行比較的步驟包括對在JMS連接功能中所接受的序列化預(yù)驗證證書進(jìn)行散列,并將在JMS連接功能中所接受的序列化預(yù)驗證證書328的散列與所存儲的序列化預(yù)驗證證書的散列進(jìn)行比較。在這一示例中,或者從驗證引擎自身334或者從中間件安全應(yīng)用336中獲得所存儲的序列化預(yù)驗證證書的散列,以用于比較。
為了更進(jìn)一步解釋,圖7示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步示例性方法的數(shù)據(jù)流程圖,其中通過對預(yù)驗證證書進(jìn)行字符串化、保留字符串化的預(yù)驗證證書的副本、并將字符串化的預(yù)驗證證書338提供給用戶應(yīng)用,來實現(xiàn)為該用戶應(yīng)用提供306預(yù)驗證證書??赏ㄟ^將字符串化的預(yù)驗證證書的一個副本340存儲在驗證引擎302中,或通過將字符串化的預(yù)驗證證書的一個副本342“緩存”324在中間件安全應(yīng)用326中,來實現(xiàn)保留字符串化的預(yù)驗證證書的副本。
在圖7的方法中,通過在JMS連接功能中接受310字符串化的預(yù)驗證證書338來實現(xiàn)在JMS連接功能中接受310預(yù)驗證證書。在圖7的方法中,根據(jù)預(yù)驗證證書為JMS驗證312用戶應(yīng)用的步驟包括將在JMS連接功能中接受的字符串化的預(yù)驗證證書338與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較。在這一示例中,或者從驗證引擎自身340或者從中間件安全應(yīng)用342中獲得所保留的字符串化的預(yù)驗證證書的副本,以用于比較。為了更進(jìn)一步解釋,圖8示出說明用于在Java消息傳遞服務(wù)中利用證書進(jìn)行驗證的進(jìn)一步示例性方法的數(shù)據(jù)流程圖,其中通過對針對用戶應(yīng)用的字符串化的預(yù)驗證證書進(jìn)行散列并存儲字符串化的預(yù)驗證證書的散列,來實現(xiàn)保留字符串化的預(yù)驗證證書的副本??赏ㄟ^將字符串化的預(yù)驗證證書的散列346存儲在驗證引擎302中,或通過將散列348“緩存”324在中間件安全應(yīng)用326中,來實現(xiàn)存儲字符串化預(yù)驗證證書的散列。
在圖8的方法中,將在JMS連接功能中所接受的字符串化的預(yù)驗證證書338與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的步驟包括對在JMS連接功能中接受的字符串化的預(yù)驗證證書進(jìn)行散列350,并將在JMS連接功能中接受的字符串化的預(yù)驗證證書的散列與所存儲的字符串化的預(yù)驗證證書的散列進(jìn)行比較。在這一示例中,或者從驗證引擎自身346或者從中間件安全應(yīng)用348中獲得所存儲的字符串化的預(yù)驗證證書的散列,以用于比較。
根據(jù)上述的描述可以理解,可以在本發(fā)明的各實施例中作出修改和變換,而不脫離它的實質(zhì)精神。本說明書中的描述只是為了說明的目的,而不應(yīng)在限制的意義上理解。本發(fā)明的范圍只由所附權(quán)利要求的語言來限定。
權(quán)利要求
1.一種用于在Java消息傳遞服務(wù)(“JMS”)中利用證書進(jìn)行驗證的方法,該方法包括為用戶應(yīng)用提供用于Java安全域的預(yù)驗證證書;以及為該用戶應(yīng)用創(chuàng)建JMS連接,包括在JMS連接功能中接受預(yù)驗證證書,并根據(jù)該預(yù)驗證證書為JMS驗證該用戶應(yīng)用。
2.權(quán)利要求1的方法,進(jìn)一步包括將上述預(yù)驗證證書緩存在用戶應(yīng)用中。
3.權(quán)利要求1的方法,進(jìn)一步包括將上述預(yù)驗證證書緩存在中間件安全應(yīng)用中。
4.權(quán)利要求1的方法,其中為用戶應(yīng)用提供預(yù)驗證證書的步驟進(jìn)一步包括保留預(yù)驗證證書的實例,序列化該預(yù)驗證證書,并向用戶應(yīng)用提供該序列化的預(yù)驗證證書;在JMS連接功能中接受預(yù)驗證證書的步驟進(jìn)一步包括在JMS連接功能中接受序列化的預(yù)驗證證書;以及根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的步驟進(jìn)一步包括對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行反序列化,并將反序列化的在JMS連接功能中所接受的預(yù)驗證證書與所保留的預(yù)驗證證書的實例進(jìn)行比較。
5.權(quán)利要求1的方法,其中為用戶應(yīng)用提供預(yù)驗證證書的步驟進(jìn)一步包括序列化該預(yù)驗證證書,保留該序列化的預(yù)驗證證書的副本,并將該序列化的預(yù)驗證證書提供給該用戶應(yīng)用;在JMS連接功能中接受預(yù)驗證證書的步驟進(jìn)一步包括在JMS連接功能中接受序列化的預(yù)驗證證書;以及根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的步驟進(jìn)一步包括將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較。
6.權(quán)利要求5的方法,其中保留序列化的預(yù)驗證證書的副本的步驟進(jìn)一步包括對該序列化的預(yù)驗證證書進(jìn)行散列,并存儲該序列化的預(yù)驗證證書的散列;以及將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的步驟進(jìn)一步包括對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行散列,并將在JMS連接功能中所接受的序列化的預(yù)驗證證書的散列與所存儲的序列化預(yù)驗證證書的散列進(jìn)行比較。
7.權(quán)利要求1的方法,其中為用戶應(yīng)用提供預(yù)驗證證書的步驟進(jìn)一步包括字符串化該預(yù)驗證證書,保留該字符串化的預(yù)驗證證書的副本,并將該字符串化的預(yù)驗證證書提供給該用戶應(yīng)用;在JMS連接功能中接受預(yù)驗證證書的步驟進(jìn)一步包括在JMS連接功能中接受字符串化的預(yù)驗證證書;以及根據(jù)預(yù)驗證證書為JMS驗證該用戶應(yīng)用的步驟進(jìn)一步包括將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較。
8.權(quán)利要求7的方法,其中保留字符串化的預(yù)驗證證書的副本的步驟進(jìn)一步包括對針對用戶應(yīng)用的該字符串化的預(yù)驗證證書進(jìn)行散列,并存儲該字符串化的預(yù)驗證證書的散列;以及將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的步驟進(jìn)一步包括對在JMS連接功能中所接受的字符串化的預(yù)驗證證書進(jìn)行散列,并將在JMS連接功能中所接受的字符串化的預(yù)驗證證書的散列與所存儲的字符串化的預(yù)驗證證書的散列進(jìn)行比較。
9.一種用于在Java消息傳遞服務(wù)(“JMS”)中利用證書進(jìn)行驗證的系統(tǒng),該系統(tǒng)包括用于為用戶應(yīng)用提供用于Java安全域的預(yù)驗證證書的裝置;以及用于為該用戶應(yīng)用創(chuàng)建JMS連接的裝置,包括用于在JMS連接功能中接受預(yù)驗證證書的裝置,及用于根據(jù)該預(yù)驗證證書為JMS驗證該用戶應(yīng)用的裝置。
10.權(quán)利要求9的系統(tǒng),進(jìn)一步包括用于將上述預(yù)驗證證書緩存在用戶應(yīng)用中的裝置。
11.權(quán)利要求9的系統(tǒng),進(jìn)一步包括用于將上述預(yù)驗證證書緩存在中間件安全應(yīng)用中的裝置。
12.權(quán)利要求9的系統(tǒng),其中用于為用戶應(yīng)用提供預(yù)驗證證書的裝置進(jìn)一步包括用于保留預(yù)驗證證書的實例的裝置,用于序列化該預(yù)驗證證書的裝置,及用于向用戶應(yīng)用提供該序列化的預(yù)驗證證書的裝置;用于在JMS連接功能中接受預(yù)驗證證書的裝置進(jìn)一步包括用于在JMS連接功能中接受序列化的預(yù)驗證證書的裝置;以及用于根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的裝置進(jìn)一步包括用于對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行反序列化的裝置,及用于將反序列化的在JMS連接功能中所接受的預(yù)驗證證書與所保留的預(yù)驗證證書的實例進(jìn)行比較的裝置。
13.權(quán)利要求9的系統(tǒng),其中用于為用戶應(yīng)用提供預(yù)驗證證書的裝置進(jìn)一步包括用于序列化預(yù)驗證證書的裝置,用于保留該序列化的預(yù)驗證證書的副本的裝置,及用于將該序列化的預(yù)驗證證書提供給用戶應(yīng)用的裝置;用于在JMS連接功能中接受預(yù)驗證證書的裝置進(jìn)一步包括用于在JMS連接功能中接受序列化的預(yù)驗證證書的裝置;以及用于根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的裝置進(jìn)一步包括用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的裝置。
14.權(quán)利要求13的系統(tǒng),其中用于保留序列化的預(yù)驗證證書的副本的裝置進(jìn)一步包括用于對序列化的預(yù)驗證證書進(jìn)行散列的裝置,及用于存儲該序列化的預(yù)驗證證書的散列的裝置;以及用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的裝置進(jìn)一步包括用于對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行散列的裝置,及用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書的散列與所存儲的序列化的預(yù)驗證證書的散列進(jìn)行比較的裝置。
15.權(quán)利要求9的系統(tǒng),其中用于為用戶應(yīng)用提供預(yù)驗證證書的裝置進(jìn)一步包括用于字符串化該預(yù)驗證證書的裝置,用于保留該字符串化的預(yù)驗證證書的副本的裝置,及用于將該字符串化的預(yù)驗證證書提供給該用戶應(yīng)用的裝置;用于在JMS連接功能中接受預(yù)驗證證書的裝置進(jìn)一步包括用于在JMS連接功能中接受字符串化的預(yù)驗證證書的裝置;以及用于根據(jù)預(yù)驗證證書為JMS驗證該用戶應(yīng)用的裝置進(jìn)一步包括用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的裝置。
16.權(quán)利要求15的系統(tǒng),其中用于保留字符串化的預(yù)驗證證書的副本的裝置進(jìn)一步包括用于對針對用戶應(yīng)用的該字符串化的預(yù)驗證證書進(jìn)行散列的裝置,及用于存儲該字符串化的預(yù)驗證證書的散列的裝置;以及用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的裝置進(jìn)一步包括用于對在JMS連接功能中所接受的字符串化的預(yù)驗證證書進(jìn)行散列的裝置,及用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書的散列與所存儲的字符串化的預(yù)驗證證書的散列進(jìn)行比較的裝置。
17.一種用于在Java消息傳遞服務(wù)(“JMS”)中利用證書進(jìn)行驗證的計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包括記錄介質(zhì);記錄在該記錄介質(zhì)上用于為用戶應(yīng)用提供用于Java安全域的預(yù)驗證證書的手段;以及記錄在該記錄介質(zhì)上用于為該用戶應(yīng)用創(chuàng)建JMS連接的手段,包括記錄在該記錄介質(zhì)上用于在JMS連接功能中接受預(yù)驗證證書的手段,及記錄在該記錄介質(zhì)上用于根據(jù)該預(yù)驗證證書為JMS驗證該用戶應(yīng)用的手段。
18.權(quán)利要求17的計算機(jī)程序產(chǎn)品,進(jìn)一步包括記錄在該記錄介質(zhì)上用于將上述預(yù)驗證證書緩存在用戶應(yīng)用中的手段。
19.權(quán)利要求17的計算機(jī)程序產(chǎn)品,進(jìn)一步包括記錄在該記錄介質(zhì)上用于將上述預(yù)驗證證書緩存在中間件安全應(yīng)用中的手段。
20.權(quán)利要求17的計算機(jī)程序產(chǎn)品,其中記錄在該記錄介質(zhì)上用于為用戶應(yīng)用提供預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于保留預(yù)驗證證書的實例的手段,記錄在該記錄介質(zhì)上用于序列化該預(yù)驗證證書的手段,及記錄在該記錄介質(zhì)上用于向用戶應(yīng)用提供該序列化的預(yù)驗證證書的手段;記錄在該記錄介質(zhì)上用于在JMS連接功能中接受預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于在JMS連接功能中接受序列化的預(yù)驗證證書的手段;以及記錄在該記錄介質(zhì)上用于根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行反序列化的手段,及記錄在該記錄介質(zhì)上用于將反序列化的在JMS連接功能中所接受的預(yù)驗證證書與所保留的預(yù)驗證證書的實例進(jìn)行比較的手段。
21.權(quán)利要求17的計算機(jī)程序產(chǎn)品,其中記錄在該記錄介質(zhì)上用于為用戶應(yīng)用提供預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于序列化該預(yù)驗證證書的手段,記錄在該記錄介質(zhì)上用于保留該序列化的預(yù)驗證證書的副本的手段,及記錄在該記錄介質(zhì)上用于將該序列化的預(yù)驗證證書提供給該用戶應(yīng)用的手段;記錄在該記錄介質(zhì)上用于在JMS連接功能中接受預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于在JMS連接功能中接受序列化的預(yù)驗證證書的手段;以及記錄在該記錄介質(zhì)上用于根據(jù)預(yù)驗證證書為JMS驗證用戶應(yīng)用的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的手段。
22.權(quán)利要求21的計算機(jī)程序產(chǎn)品,其中記錄在該記錄介質(zhì)上用于保留序列化的預(yù)驗證證書的副本的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于對該序列化的預(yù)驗證證書進(jìn)行散列的手段,及記錄在該記錄介質(zhì)上用于存儲該序列化的預(yù)驗證證書的散列的手段;以及記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書與所保留的序列化的預(yù)驗證證書的副本進(jìn)行比較的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于對在JMS連接功能中所接受的序列化的預(yù)驗證證書進(jìn)行散列的手段,及記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的序列化的預(yù)驗證證書的散列與所存儲的序列化預(yù)驗證證書的散列進(jìn)行比較的手段。
23.權(quán)利要求17的計算機(jī)程序產(chǎn)品,其中記錄在該記錄介質(zhì)上用于為用戶應(yīng)用提供預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于字符串化該預(yù)驗證證書的手段,記錄在該記錄介質(zhì)上用于保留該字符串化的預(yù)驗證證書的副本的手段,及記錄在該記錄介質(zhì)上用于將該字符串化的預(yù)驗證證書提供給該用戶應(yīng)用的手段;記錄在該記錄介質(zhì)上用于在JMS連接功能中接受預(yù)驗證證書的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于在JMS連接功能中接受字符串化的預(yù)驗證證書的手段;以及記錄在該記錄介質(zhì)上用于根據(jù)預(yù)驗證證書為JMS驗證該用戶應(yīng)用的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的手段。
24.權(quán)利要求23的計算機(jī)程序產(chǎn)品,其中記錄在該記錄介質(zhì)上用于保留字符串化的預(yù)驗證證書的副本的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于對針對用戶應(yīng)用的該字符串化的預(yù)驗證證書進(jìn)行散列的手段,及記錄在該記錄介質(zhì)上用于存儲該字符串化的預(yù)驗證證書的散列的手段;以及記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書與所保留的字符串化的預(yù)驗證證書的副本進(jìn)行比較的手段進(jìn)一步包括記錄在該記錄介質(zhì)上用于對在JMS連接功能中所接受的字符串化的預(yù)驗證證書進(jìn)行散列的手段,及記錄在該記錄介質(zhì)上用于將在JMS連接功能中所接受的字符串化的預(yù)驗證證書的散列與所存儲的字符串化的預(yù)驗證證書的散列進(jìn)行比較的手段。
全文摘要
在Java消息傳遞服務(wù)(“JMS”)中利用證書的驗證包括為用戶應(yīng)用提供用于Java安全域的預(yù)驗證證書,并為該用戶應(yīng)用創(chuàng)建JMS連接,包括在JMS連接功能中接受預(yù)驗證證書,并根據(jù)該預(yù)驗證證書為JMS驗證該用戶應(yīng)用。本發(fā)明的典型實施例還包括將預(yù)驗證證書緩存在用戶應(yīng)用中。許多實施例還包括將預(yù)驗證證書緩存在中間件安全應(yīng)用中。
文檔編號G06F15/16GK1705265SQ200510068388
公開日2005年12月7日 申請日期2005年5月8日 優(yōu)先權(quán)日2004年6月3日
發(fā)明者A·法魯基, J·拉馬納坦, N·雷德肖, B·里奇 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1