本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用信息的校驗方法和一種應(yīng)用信息的校驗裝置。
背景技術(shù):
隨著終端技術(shù)的發(fā)展,越來越多的用戶使用各種類型的移動終端,移動終端中安裝各種應(yīng)用程序,不同應(yīng)用程序提供不同的功能,例如可以安裝游戲應(yīng)用、視頻應(yīng)用、社交應(yīng)用、通訊應(yīng)用等。
目前移動終端的操作系統(tǒng)如android系統(tǒng),各應(yīng)用間可以通信進(jìn)行數(shù)據(jù)交互,即當(dāng)應(yīng)用提供一個接口輸出應(yīng)用信息時,移動終端中其他各應(yīng)用均可通過該接口調(diào)用該應(yīng)用信息;例如,可以在微信、短信、郵件等應(yīng)用中打開通訊錄;從而,應(yīng)用的信息可能被惡意應(yīng)用竊取,使得應(yīng)用中的信息存在安全隱患。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的應(yīng)用信息的校驗方法和相應(yīng)的應(yīng)用信息的校驗裝置。
依據(jù)本發(fā)明的一個方面,提供了應(yīng)用信息的校驗方法,具體包括:目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽,所述目標(biāo)應(yīng)用包括主程序和業(yè)務(wù)插件;在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息;依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
可選地,所述驗證信息包括調(diào)用方的包名和簽名。
可選地,還包括:采用所述驗證信息對所述調(diào)用方進(jìn)行校驗;
所述依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,包括:在校驗結(jié)果為校驗成功時確定所述調(diào)用方為業(yè)務(wù)插件。
可選地,采用所述驗證信息對所述調(diào)用方進(jìn)行校驗,包括:調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,和/或,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
可選地,調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,包括:主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù);判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。
可選地,依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件之后,還包括:所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息;若依據(jù)所述權(quán)限信息確定所述業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限,執(zhí)行向所述調(diào)用方返回所述目標(biāo)信息的步驟。
可選地,所述主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;所述目標(biāo)信息用于獲取用戶信息。
可選地,還包括:所述主程序通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中。
可選地,還包括:獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息;若依據(jù)所述版本信息檢測到業(yè)務(wù)插件需要更新,從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包;依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
可選地,還包括:所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器;接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。
根據(jù)本發(fā)明的另一方面,提供了一種應(yīng)用信息的校驗裝置,具體包括:監(jiān)聽模塊,用于目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽,所述目標(biāo)應(yīng)用包括主程序和業(yè)務(wù)插件;驗證信息獲取模塊,用于在檢測到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息;返回模塊,用于依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
可選地,所述驗證信息包括調(diào)用方的包名和簽名。
可選地,還包括:校驗?zāi)K,用于采用所述驗證信息對所述調(diào)用方進(jìn)行校驗;所述返回模塊,用于在校驗結(jié)果為校驗成功時確定所述調(diào)用方為業(yè)務(wù)插件。
可選地,所述校驗?zāi)K,用于調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,和/或,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
可選地,所述校驗?zāi)K,用于主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù);判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。
可選地,所述返回模塊,還用于所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息;若依據(jù)所述權(quán)限信息確定所述業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限,向所述調(diào)用方返回所述目標(biāo)信息。
可選地,所述主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;所述目標(biāo)信息用于獲取用戶信息。
可選地,還包括:插件管理模塊,用于所述主程序通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中。
可選地,所述插件管理模塊,還用于獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息;若依據(jù)所述版本信息檢測到業(yè)務(wù)插件需要更新,從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包;依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
可選地,還包括:用戶信息獲取模塊,用于所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器;接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。
根據(jù)本發(fā)明的應(yīng)用信息的校驗方法,可以通過目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽;當(dāng)檢測到調(diào)用方通過預(yù)設(shè)接口調(diào)用目標(biāo)信息時,獲取調(diào)用方的驗證信息;在確定調(diào)用方是目標(biāo)應(yīng)用的業(yè)務(wù)插件時,則將所述目標(biāo)信息返回至調(diào)用方;由此解決了目標(biāo)應(yīng)用中的信息存在安全隱患問題,保證了目標(biāo)應(yīng)用中信息的安全。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用信息的校驗方法實施例的步驟流程圖;
圖2示出了根據(jù)本發(fā)明另一個實施例的一種應(yīng)用信息的校驗方法實施例的步驟流程圖;
圖3示出了根據(jù)本發(fā)明另一個實施例的一種業(yè)務(wù)插件更新方法實施例的步驟流程圖;
圖4示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用信息的校驗裝置實施例的結(jié)構(gòu)框圖;以及
圖5示出了根據(jù)本發(fā)明另一個實施例的一種應(yīng)用信息的校驗裝置實施例的結(jié)構(gòu)框圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本發(fā)明實施例為了保證目標(biāo)信息的安全性,可在通過借調(diào)目標(biāo)信息時對調(diào)用接口的調(diào)用端進(jìn)行驗證,通過驗證的調(diào)用端才能獲取所需的信息。其中,調(diào)用端指的是調(diào)用接口的主體,如其他應(yīng)用、應(yīng)用內(nèi)插件等,插件指的是一種遵循應(yīng)用程序接口的規(guī)范編寫出來的程序。
參照圖1,示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用信息的校驗方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟102、目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽。
本發(fā)明實施例為了保證目標(biāo)信息的安全性,在確定插件通過主程序的接口調(diào)用目標(biāo)信息時,對插件進(jìn)行驗證;當(dāng)確定該插件業(yè)務(wù)插件時,將目標(biāo)信息返回至該插件。具體的,目標(biāo)應(yīng)用的主程序可以預(yù)先對預(yù)設(shè)接口進(jìn)行監(jiān)聽,以監(jiān)聽預(yù)設(shè)接口被調(diào)用的情況即確定預(yù)設(shè)接口是否被調(diào)用。其中,所述目標(biāo)應(yīng)用中提供的功能可以進(jìn)行切分,采用業(yè)務(wù)插件提供相應(yīng)切分的功能,即目標(biāo)應(yīng)用的功能由業(yè)務(wù)插件提供,而目標(biāo)應(yīng)用的運行由主程序執(zhí)行,因此目標(biāo)應(yīng)用程序包括業(yè)務(wù)插件和主程序。所述目標(biāo)應(yīng)用的主程序設(shè)有一個預(yù)設(shè)接口,所述預(yù)設(shè)接口用于提供目標(biāo)信息,通過調(diào)用預(yù)設(shè)接口可獲取目標(biāo)信息,所述目標(biāo)信息可包括與目標(biāo)應(yīng)用的用戶信息相關(guān)的信息。
本發(fā)明實施例中目標(biāo)應(yīng)用可以包括各種不同功能的應(yīng)用,如軟件管理應(yīng)用,游戲管理應(yīng)用以及視頻管理應(yīng)用等等,在此不一一舉例。若所述目標(biāo)應(yīng)用為軟件管理應(yīng)用,則每個業(yè)務(wù)插件對應(yīng)軟件管理一個功能,如下載;若所述目標(biāo)應(yīng)為游戲管理應(yīng)用,則每個業(yè)務(wù)插件對應(yīng)一個游戲;若所述目標(biāo)應(yīng)用為視頻管理軟件,則每個業(yè)務(wù)插件對應(yīng)一個視頻播放插件。
步驟104、在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息。
預(yù)設(shè)接口暴露后,任一應(yīng)用、插件等均可以通過調(diào)用目標(biāo)應(yīng)用的預(yù)設(shè)接口,向目標(biāo)應(yīng)用發(fā)送獲取目標(biāo)信息的請求,以獲取目標(biāo)信息。為防止目標(biāo)應(yīng)用接收到插件發(fā)送的目標(biāo)信息的請求后,直接將目標(biāo)信息返回至該插件,而導(dǎo)致泄露目標(biāo)信息的安全隱患。本發(fā)明實施例在對預(yù)設(shè)接口監(jiān)聽的過程中,監(jiān)聽到所述預(yù)設(shè)接口被插件調(diào)用時,由于未知調(diào)用方,因此可獲取該調(diào)用方的驗證信息來進(jìn)行驗證。即目標(biāo)應(yīng)用的主程序可通過進(jìn)程間的通信方式獲取調(diào)用方的驗證信息。其中,所述驗證信息是與調(diào)用方身份相關(guān)的信息,即驗證信息用于標(biāo)識調(diào)用方身份的信息,如驗證信息可以包括包名、簽名等。
步驟106、依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
主程序在獲取調(diào)用方的驗證信息后,可以利用獲取的驗證信息進(jìn)行校驗;再根據(jù)校驗結(jié)果確定所述調(diào)用方是否為業(yè)務(wù)插件。如校驗結(jié)果為校驗通過則確定所述調(diào)用方是業(yè)務(wù)插件時,可以將目標(biāo)信息返回至調(diào)用方;如校驗結(jié)果為校驗不通過則確定調(diào)用方不是業(yè)務(wù)插件時,可能是其他插件或應(yīng)用調(diào)用該目標(biāo)信息,防止信息泄露,無需向該調(diào)用方返回目標(biāo)信息。從而通過對驗證信息的校驗,使得目標(biāo)應(yīng)用的業(yè)務(wù)插件才能獲取目標(biāo)信息,而對于其他調(diào)用方不返回目標(biāo)信息,保證了目標(biāo)信息的安全。
本發(fā)明實施例通過目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽;當(dāng)監(jiān)聽到調(diào)用方通過預(yù)設(shè)接口調(diào)用目標(biāo)信息時,獲取調(diào)用方的驗證信息;在確定調(diào)用方是目標(biāo)應(yīng)用的業(yè)務(wù)插件時,則將所述目標(biāo)信息返回至調(diào)用方;使得只有目標(biāo)應(yīng)用的業(yè)務(wù)插件才能獲取目標(biāo)信息,而不是目標(biāo)應(yīng)用業(yè)務(wù)插件的調(diào)用方無法獲取目標(biāo)信息,從而保證了目標(biāo)應(yīng)用中信息的安全。
現(xiàn)有技術(shù)中,目標(biāo)應(yīng)用為了提高用戶的體驗,用戶在目標(biāo)應(yīng)用中登錄后,在使用業(yè)務(wù)插件時,該業(yè)務(wù)插件可以直接調(diào)用目標(biāo)應(yīng)用的預(yù)設(shè)接口,獲取目標(biāo)信息,導(dǎo)致目標(biāo)信息的泄露。如目標(biāo)信息為用戶信息,則會導(dǎo)致用戶信息泄露,影響系統(tǒng)和用戶。例如,用戶在游戲管理應(yīng)用中登錄后,在開啟游戲管理應(yīng)用中的游戲后,可以直接進(jìn)入游戲;而當(dāng)不是該游戲管理應(yīng)用的插件,調(diào)用該游戲管理應(yīng)用的預(yù)設(shè)接口獲取用戶登錄信息時,游戲管理應(yīng)用依然會將用戶的登錄信息返回給該插件,導(dǎo)致用戶信息泄露。甚至有些惡意的調(diào)用方為了獲取目標(biāo)應(yīng)用的目標(biāo)信息,可能會偽裝為目標(biāo)應(yīng)用的業(yè)務(wù)插件來調(diào)用預(yù)設(shè)接口,因此本實施例可通過驗證方式偽造插件獲取目標(biāo)信息。
本發(fā)明提供的應(yīng)用信息的校驗方法,可以應(yīng)用在各種不同功能應(yīng)用中,如游戲管理應(yīng)用、軟件管理應(yīng)用和視頻管理應(yīng)用等等。以下以應(yīng)用在游戲管理應(yīng)用中為例,對本發(fā)明實施例的各步驟進(jìn)行詳細(xì)的說明。
參照圖2,示出了根據(jù)本發(fā)明另一個實施例的一種應(yīng)用信息的校驗方法實施例的步驟流程圖,具體包括如下步驟:
步驟202、目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽。
目標(biāo)應(yīng)用的主程序為了防止偽裝的插件通過預(yù)設(shè)接口獲取目標(biāo)信息,可以預(yù)先對預(yù)設(shè)接口進(jìn)行監(jiān)聽,以檢測所述預(yù)設(shè)接口的被調(diào)用情況;其中,主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;例如,目標(biāo)應(yīng)用是游戲管理應(yīng)用,主程序用于管理該游戲管理應(yīng)用中各游戲;業(yè)務(wù)插件是該游戲管理平臺中的游戲。
步驟204、在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息。
主程序監(jiān)聽到有調(diào)用方通過預(yù)設(shè)接口調(diào)用目標(biāo)信息時,可以獲取調(diào)用方的驗證信息,從而,主程序可以利用獲取的驗證信息獲取校驗結(jié)果,確定調(diào)用方是否是業(yè)務(wù)插件。本發(fā)明實施例中,目標(biāo)應(yīng)用可以為其包括的各業(yè)務(wù)插件配置簽名,通過每個業(yè)務(wù)插件的簽名是相同的,當(dāng)然也可以是不同的;以根據(jù)插件的簽名確定該業(yè)務(wù)插件是否是游戲管理應(yīng)用的業(yè)務(wù)插件。每個業(yè)務(wù)插件存在對應(yīng)的包名,游戲管理應(yīng)用可以根據(jù)業(yè)務(wù)插件的包名,區(qū)分各業(yè)務(wù)插件。因此,主程序獲取的調(diào)用方的驗證信息包括調(diào)用方的包名和簽名。
主程序在獲取到驗證信息后,可以采用所述驗證信息對所述調(diào)用方進(jìn)行校驗。本發(fā)明實施例中,對調(diào)用方進(jìn)行校驗的方式有多種,其中,一種方式是,在本地對調(diào)用方進(jìn)行校驗;另一種方式是將驗證信息上傳至服務(wù)器進(jìn)行校驗;還有一種方式是,在本地校驗完成后,再將驗證信息上傳至服務(wù)器進(jìn)行校驗;具體步驟如下:
步驟206、調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗。
主程序獲取驗證信息后,可以調(diào)用本地插件數(shù)據(jù)對驗證信息進(jìn)行校驗;其中,所述插件數(shù)據(jù)包括目標(biāo)應(yīng)用的各業(yè)務(wù)插件的相關(guān)信息,各業(yè)務(wù)插件的相關(guān)信息可以包括各業(yè)務(wù)插件的標(biāo)識信息如包名和簽名,以及屬性描述信息如插件的大小、創(chuàng)建時間等等信息。具體調(diào)用本地插件數(shù)據(jù)對驗證信息進(jìn)行校驗是:在調(diào)用本地插件數(shù)據(jù)對驗證信息進(jìn)行驗證時,可以先判斷本地是否存在插件數(shù)據(jù);當(dāng)確定本地不存在插件數(shù)據(jù)時,可以將本地對驗證信息的校驗結(jié)果確定為校驗失敗;而當(dāng)確定本地存在插件數(shù)據(jù)時,則對驗證信息進(jìn)行校驗,具體步驟如下:
主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù)。本發(fā)明實施例的主程序獲取到調(diào)用方的驗證信息后,通過管理單元調(diào)用本地數(shù)據(jù)單元;再從本地數(shù)據(jù)單元中獲取目標(biāo)應(yīng)用的插件數(shù)據(jù),以根據(jù)插件數(shù)據(jù)中的信息對所述驗證信息進(jìn)行驗證。其中,所述本地數(shù)據(jù)單元是用于存儲目標(biāo)應(yīng)用的插件數(shù)據(jù)的,所述管理單元是用于對所述本地數(shù)據(jù)單元中的數(shù)據(jù)進(jìn)行管理的。
判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。具體的,本發(fā)明實施例可以根據(jù)調(diào)用方的包名和簽名,判斷該調(diào)用方是否為目標(biāo)應(yīng)用的業(yè)務(wù)插件,具體的,主程序在插件數(shù)據(jù)中對調(diào)用方的包名和簽名進(jìn)行查找,判斷調(diào)用方的包名和簽名是否都存在于插件數(shù)據(jù)中,當(dāng)主程序從插件數(shù)據(jù)中同時存在調(diào)用方的包名和簽名時,可以確定調(diào)用方為目標(biāo)應(yīng)用的業(yè)務(wù)插件,從而確定該驗證信息的校驗結(jié)果為校驗成功。當(dāng)插件數(shù)據(jù)中只存在目標(biāo)插件的包名,而不存在調(diào)用方的簽名;或者,插件數(shù)據(jù)中只存在調(diào)用方的簽名,而不存在調(diào)用方的包名;或者,插件數(shù)據(jù)中不存在調(diào)用方的包名和簽名時,即所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,則可以確定調(diào)用方不是目標(biāo)應(yīng)用的業(yè)務(wù)插件,從而確定該驗證信息的校驗結(jié)果為校驗失敗。例如,游戲管理應(yīng)用包括的游戲有:a、b、c三款游戲,各游戲在的插件數(shù)據(jù)中對應(yīng)的包名分別為:a1、b1、c1;各游戲的簽名均為09202921,當(dāng)一個偽裝成游戲的游戲調(diào)用預(yù)設(shè)接口時,主程序獲取到該游戲的包名為a1,簽名為08252720;則可以確定該游戲不是游戲管理應(yīng)用中的游戲。
另外,當(dāng)在本地對驗證信息進(jìn)行校驗后的校驗結(jié)果為校驗成功時,可無需將驗證信息上傳至服務(wù)器中進(jìn)行校驗;將對驗證信息進(jìn)行校驗的最終結(jié)果確定為校驗成功;也可以將驗證信息上傳至服務(wù)器中進(jìn)行校驗即執(zhí)行步驟208,再根據(jù)服務(wù)器和本地的雙重校驗結(jié)果,確定最終校驗結(jié)果;從而,進(jìn)一步提高了目標(biāo)信息的安全性。而當(dāng)在本地對驗證信息進(jìn)行校驗后的校驗結(jié)果為校驗失敗時,可以將驗證信息上傳至服務(wù)器中進(jìn)行校驗即執(zhí)行步驟208;從而根據(jù)服務(wù)器的校驗結(jié)果確定最終的校驗結(jié)果。
步驟208、將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
本發(fā)明實施例在多種情況下,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗;其中,一種情況是,在主程序獲取驗證信息后,還可以將所述驗證信息直接上傳給服務(wù)器進(jìn)行校驗;另一種情況是,在本地對所述驗證信息進(jìn)行驗證后,再將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。具體的,服務(wù)器接收到的驗證信息后,可以在服務(wù)器中的插件數(shù)據(jù)中進(jìn)行查找,確定服務(wù)端的插件數(shù)據(jù)中存在目標(biāo)插件的包名和簽名時,則確定調(diào)用方是目標(biāo)應(yīng)用的業(yè)務(wù)插件,返回給目標(biāo)應(yīng)用校驗成功的校驗結(jié)果;當(dāng)服務(wù)器確定調(diào)用方的包名和簽名至少一個不在所述服務(wù)端的插件數(shù)據(jù)中時,則返回給目標(biāo)應(yīng)用校驗失敗的校驗結(jié)果其中,服務(wù)器對驗證信息的校驗方法與在本地的校驗方法相似,在此不再贅述。
另外,當(dāng)在本地的校驗結(jié)果為校驗失敗,而接收到服務(wù)器發(fā)送的校驗結(jié)果為成功時,所述主程序在空閑時間內(nèi),可以通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中;當(dāng)本地不存在插件數(shù)據(jù)時,將下載的插件數(shù)據(jù)確定為目標(biāo)應(yīng)用的插件數(shù)據(jù);而當(dāng)本地存在插件數(shù)據(jù)時,則可以利用下載的插件數(shù)據(jù),更新本地已有的插件數(shù)據(jù);便于對下次在本地對獲取驗證信息進(jìn)行校驗。
步驟210、判斷校驗結(jié)果是否校驗成功,若是,則執(zhí)行步驟212;若否,則執(zhí)行結(jié)束的步驟。
本發(fā)明實施例可以判斷對驗證信息的校驗結(jié)果是否為校驗成功,以確定是否需要對驗證信息中包名對應(yīng)的業(yè)務(wù)插件,進(jìn)行權(quán)限的判斷;當(dāng)校驗結(jié)果為校驗失敗時,確定調(diào)用方不是業(yè)務(wù)插件,即可執(zhí)行結(jié)束的步驟;當(dāng)校驗結(jié)果為校驗成功時,則可以執(zhí)行步驟212。具體的,在判斷校驗結(jié)果是否驗證成功時,若主程序在本地校驗的校驗結(jié)果為校驗成功后,未將驗證信息上傳至服務(wù)器進(jìn)行校驗,則確定最終的校驗結(jié)果為驗證成功;若主程序在本地校驗后,再將驗證信息上傳至服務(wù)器進(jìn)行校驗;或主程序直接將驗證信息上傳至服務(wù)器進(jìn)行校驗,以接收到的服務(wù)器的校驗結(jié)果為依據(jù),確定最終的校驗結(jié)果,即當(dāng)獲取到服務(wù)器的校驗結(jié)果為校驗成功時,確定最終的校驗結(jié)果為校驗成功;當(dāng)獲取到服務(wù)器的校驗結(jié)果為校驗失敗時,確定最終的校驗結(jié)果為校驗失敗。
步驟212、所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息。
本發(fā)明實施例的目標(biāo)應(yīng)用中,可能存在部分業(yè)務(wù)插件具有獲取目標(biāo)信息的權(quán)限,而另一部分業(yè)務(wù)插件不具有獲取目標(biāo)信息的權(quán)限;目標(biāo)應(yīng)用只允許具有對應(yīng)權(quán)限的業(yè)務(wù)插件,獲取目標(biāo)信息;因此,在主程序確定所述驗證信息校驗成功后,還可以確定所述驗證信息中的包名對應(yīng)業(yè)務(wù)插件,是否具有調(diào)用目標(biāo)信息的權(quán)限。具體的,主程序確定校驗成功后,可以根據(jù)驗證信息中的包名,確定調(diào)用方是目標(biāo)應(yīng)用中的哪個業(yè)務(wù)插件;然后再調(diào)用管理單元,通過管理單元調(diào)用本地數(shù)據(jù)單元,從而可以從本地數(shù)據(jù)單元中,獲取該業(yè)務(wù)插件的權(quán)限信息。當(dāng)本地不存在該業(yè)務(wù)插件的權(quán)限信息時,主程序可以通過調(diào)用管理單元,從服務(wù)器下載該業(yè)務(wù)插件對應(yīng)的權(quán)限信息,并保存在本地數(shù)據(jù)單元中,從而主程序可以從本地數(shù)據(jù)單元中獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息。另外,所述主程序也可以將驗證信息的包名上傳至服務(wù)器進(jìn)行權(quán)限的驗證。
步驟214、判斷所述業(yè)務(wù)插件是否具有調(diào)用所述目標(biāo)信息的權(quán)限,若是則執(zhí)行步驟216;若否,則執(zhí)行結(jié)束的步驟。
主程序可以根據(jù)本地權(quán)限信息對該業(yè)務(wù)插件的權(quán)限進(jìn)行判斷,判斷該業(yè)務(wù)插件是否具有調(diào)用所述目標(biāo)信息的權(quán)限;主程序也可以根據(jù)服務(wù)器返回的權(quán)限驗證信息,判斷該業(yè)務(wù)插件是否具有調(diào)用所述目標(biāo)信息的權(quán)限。當(dāng)確定該業(yè)務(wù)插件不具有調(diào)用所述目標(biāo)信息的權(quán)限時,則執(zhí)行結(jié)束的步驟;當(dāng)確定該業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限時,則可以執(zhí)行步驟216。
另外,在確定本地不存在該業(yè)務(wù)插件的權(quán)限信息時,當(dāng)終端無法連接網(wǎng)絡(luò)時,可以先確定該業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限;當(dāng)終端連接上網(wǎng)絡(luò)后,再對該業(yè)務(wù)插件的權(quán)限進(jìn)行驗證。
步驟216、向所述調(diào)用方返回所述目標(biāo)信息。
主程序在確定驗證信息中包名對應(yīng)的業(yè)務(wù)插件,具有調(diào)用目標(biāo)信息的權(quán)限時,將所述目標(biāo)信息返回至所述調(diào)用方。
步驟218、所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器。
步驟220、接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。
本發(fā)明實施例中所述目標(biāo)信息可以是用戶信息如賬號和密碼,也可以是用于獲取用戶信息的信息如cookie。當(dāng)所述目標(biāo)信息是用于獲取用戶信息的信息,業(yè)務(wù)插件可以依據(jù)數(shù)據(jù)請求,將所述目標(biāo)信息發(fā)送該服務(wù)器;其中,所述數(shù)據(jù)請求是獲取用戶信息的請求;服務(wù)器接收到目標(biāo)信息后,可以將所述目標(biāo)信息對應(yīng)的用戶信息,返回該所述業(yè)務(wù)插件;從而,所述業(yè)務(wù)插件可以接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。例如,游戲管理應(yīng)用包括的游戲有:a、b、c三款游戲,均為登錄后才能參與的游戲,其中,游戲a和游戲b具有獲取目標(biāo)信息的權(quán)限,游戲c不具有獲取目標(biāo)信息的權(quán)限;當(dāng)用戶打開游戲a后,游戲a可以利用游戲管理應(yīng)用返回的用戶信息登錄,從而用戶可以直接參與到游戲a中;而當(dāng)用戶打開游戲c時,游戲c無法獲取游戲管理應(yīng)用的用戶信息,從而用戶必需手動登錄后才能參與到游戲中。
本發(fā)明實施例在獲取調(diào)用方的驗證信息后,可以在本地對該驗證信息進(jìn)行校驗,也可以通過服務(wù)器對該驗證信息進(jìn)行校驗,以確定校驗結(jié)果;從而對驗證信息進(jìn)行雙重驗證,進(jìn)一步提高了目標(biāo)信息的安全性;當(dāng)校驗結(jié)果為校驗成功時,再判斷驗證信息中包名對應(yīng)的業(yè)務(wù)插件,是否具有調(diào)用目標(biāo)信息的權(quán)限;當(dāng)該業(yè)務(wù)插件具有調(diào)用目標(biāo)信息的條件時,將目標(biāo)信息返回給調(diào)用方;即對調(diào)用方進(jìn)行了驗證信息和權(quán)限的雙重驗證,更好的提高了目標(biāo)應(yīng)用中用戶信息的安全性。
參照圖3,示出了根據(jù)本發(fā)明另一個實施例的一種業(yè)務(wù)插件更新方法實施例的步驟流程圖;本發(fā)明實施例對目標(biāo)應(yīng)用的業(yè)務(wù)插件的更新方法進(jìn)行說明,具體包括如下步驟:
步驟302、獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息。
現(xiàn)有技術(shù)中,業(yè)務(wù)插件需要進(jìn)行更新時,需要通過主程序告知用戶相關(guān)的更新信息,從而主程序根據(jù)用戶選擇更新的操作,對業(yè)務(wù)插件進(jìn)行更新;業(yè)務(wù)插件更新需要一定時間,而用戶需要等待業(yè)務(wù)插件更新后,才可對該業(yè)務(wù)插件進(jìn)行操作,從而浪費了用戶時間,降低了用戶的體驗。
本發(fā)明實施例中,將目標(biāo)應(yīng)用的功能進(jìn)行拆分得到業(yè)務(wù)插件,從而目標(biāo)應(yīng)用由主程序和業(yè)務(wù)插件構(gòu)成,為了便于對業(yè)務(wù)插件進(jìn)行管理,還可以在目標(biāo)應(yīng)用中配置管理單元,管理單元用于管理業(yè)務(wù)插件,確定已安裝的業(yè)務(wù)插件和未安裝的業(yè)務(wù)插件,各業(yè)務(wù)插件的版本、運行狀態(tài)等。還配置了本地數(shù)據(jù)單元,通過該本地數(shù)據(jù)單元存儲業(yè)務(wù)插件的數(shù)據(jù),包括已安裝的業(yè)務(wù)插件的名稱、版本等插件信息。從而通過管理單元和本地數(shù)據(jù)單元能夠?qū)I(yè)務(wù)插件進(jìn)行管理,并管理業(yè)務(wù)插件的安裝、更新等。
在啟動目標(biāo)應(yīng)用后,管理單元從本地數(shù)據(jù)單元中獲取各業(yè)務(wù)插件的版本信息如v1.0.0;并將該業(yè)務(wù)插件的版本信息發(fā)送至服務(wù)器中;當(dāng)服務(wù)器確定接收的該業(yè)務(wù)插件的版本信息對應(yīng)的版本信息如v1.0.0,比服務(wù)器存儲的該業(yè)務(wù)插件的版本信息如v1.0.1低時,則將該業(yè)務(wù)插件的最新版本號返回至目標(biāo)應(yīng)用中;當(dāng)服務(wù)器確定接收的版本號,是該業(yè)務(wù)插件最新的版本號時,則不向目標(biāo)應(yīng)用返回信息。
步驟304、判斷業(yè)務(wù)插件是否需要更新,若是,則執(zhí)行步驟306;若否,則執(zhí)行結(jié)束的步驟。
主程序在一定時間內(nèi)接收到服務(wù)器的響應(yīng)信息,依據(jù)版本檢測結(jié)果確定該業(yè)務(wù)插件需要更新,執(zhí)行步驟306;依據(jù)版本檢測結(jié)果確定該業(yè)務(wù)插件無需更新,則執(zhí)行結(jié)束的步驟。
步驟306、從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包。
管理單元接收到版本檢測結(jié)果確定需要更新業(yè)務(wù)插件后,可以從服務(wù)器中下載該業(yè)務(wù)插件對應(yīng)的最新版本的更新包,并保存在本地。
步驟308、依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
當(dāng)主程序確定用戶退出該業(yè)務(wù)插件時,在空閑時間內(nèi)對上述下載的更新包進(jìn)行解壓,然后利用解壓后的更新包,對該業(yè)務(wù)插件進(jìn)行更新,并將更新的插件信息保存到本地數(shù)據(jù)單元中。
本發(fā)明實施例可以通過管理單元和本地數(shù)據(jù)單元對目標(biāo)應(yīng)用的業(yè)務(wù)插件進(jìn)行管理,從而自動更新業(yè)務(wù)插件保證用戶的正常使用。對業(yè)務(wù)插件的更新還可以是閑時更新,從而不影響用戶對應(yīng)用的使用,無需用戶浪費時間等待業(yè)務(wù)插件的更新,提高了用戶的體驗。
對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
參照圖4,示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用信息的校驗裝置實施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:監(jiān)聽模塊402、驗證信息獲取模塊404和返回模塊406,其中,
監(jiān)聽模塊402,用于目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽,所述目標(biāo)應(yīng)用包括主程序和業(yè)務(wù)插件。
驗證信息獲取模塊404,用于在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息。
返回模塊406,用于依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
參照圖5,示出了根據(jù)本發(fā)明另一個實施例的一種應(yīng)用信息的校驗裝置實施例的結(jié)構(gòu)框圖;本發(fā)明實施例在對所述裝置還包括的模塊,以及各模塊還包括的功能進(jìn)行說明。所述裝置包括:監(jiān)聽模塊502、驗證信息獲取模塊504和返回模塊506,上述已經(jīng)論述,在此不再贅述。所述裝置還包括:
校驗?zāi)K508,用于采用所述驗證信息對所述調(diào)用方進(jìn)行校驗。
用戶信息獲取模塊510,用于所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器;接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。
插件管理模塊512,用于所述主程序通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中。
所述插件管理模塊512,還用于獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息;若依據(jù)所述版本信息檢測到業(yè)務(wù)插件需要更新,從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包;依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
所述校驗?zāi)K508,用于調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,和/或,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
所述校驗?zāi)K508,用于主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù);判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。
所述返回模塊506,用于在校驗結(jié)果為校驗成功時確定所述調(diào)用方為業(yè)務(wù)插件。
所述返回模塊506,還用于所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息;若依據(jù)所述權(quán)限信息確定所述業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限,向所述調(diào)用方返回所述目標(biāo)信息。
本發(fā)明實施例中所述驗證信息包括調(diào)用方的包名和簽名。所述主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;所述目標(biāo)信息用于獲取用戶信息。
根據(jù)本發(fā)明的應(yīng)用信息的校驗方法,可以通過目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽;當(dāng)檢測到調(diào)用方通過預(yù)設(shè)接口調(diào)用目標(biāo)信息時,獲取調(diào)用方的驗證信息;在確定調(diào)用方是目標(biāo)應(yīng)用的業(yè)務(wù)插件時,則將所述目標(biāo)信息返回至調(diào)用方;由此解決了任一插件均可通過預(yù)設(shè)接口獲取目標(biāo)信息的問題,提高了目標(biāo)應(yīng)用中目標(biāo)信息的安全性。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(dsp)來實現(xiàn)根據(jù)本發(fā)明實施例的應(yīng)用信息的校驗方法和裝置設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了a1、一種應(yīng)用信息的校驗方法,包括:
目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽,所述目標(biāo)應(yīng)用包括主程序和業(yè)務(wù)插件;
在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息;
依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
a2、如a1所述的方法,所述驗證信息包括調(diào)用方的包名和簽名。
a3、如a2所述的方法,還包括:
采用所述驗證信息對所述調(diào)用方進(jìn)行校驗;
所述依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,包括:在校驗結(jié)果為校驗成功時確定所述調(diào)用方為業(yè)務(wù)插件。
a4、如a3所述的方法,采用所述驗證信息對所述調(diào)用方進(jìn)行校驗,包括:
調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,和/或,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
a5、如a4所述的方法,調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,包括:
主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù);
判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;
若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;
所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。
a6、如a1所述的方法,依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件之后,還包括:
所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息;
若依據(jù)所述權(quán)限信息確定所述業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限,執(zhí)行向所述調(diào)用方返回所述目標(biāo)信息的步驟。
a7、如a1-a6任一所述的方法,所述主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;所述目標(biāo)信息用于獲取用戶信息。
a8、如a7所述的方法,還包括:
所述主程序通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中。
a9、如a8所述的方法,還包括:
獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息;
若依據(jù)所述版本信息檢測到業(yè)務(wù)插件需要更新,從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包;
依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
a10、如a7所述的方法,還包括:
所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器;
接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。
本發(fā)明還公開了b11、一種應(yīng)用信息的校驗裝置,包括:
監(jiān)聽模塊,用于目標(biāo)應(yīng)用的主程序?qū)︻A(yù)設(shè)接口進(jìn)行監(jiān)聽,所述目標(biāo)應(yīng)用包括主程序和業(yè)務(wù)插件;
驗證信息獲取模塊,用于在監(jiān)聽到通過預(yù)設(shè)接口調(diào)用目標(biāo)信息,獲取調(diào)用所述預(yù)設(shè)接口的調(diào)用方的驗證信息;
返回模塊,用于依據(jù)所述校驗結(jié)果確定所述調(diào)用方為業(yè)務(wù)插件,向所述調(diào)用方返回所述目標(biāo)信息。
b12、如b11所述的裝置,所述驗證信息包括調(diào)用方的包名和簽名。
b13、如b12所述的裝置,還包括:
校驗?zāi)K,用于采用所述驗證信息對所述調(diào)用方進(jìn)行校驗;
所述返回模塊,用于在校驗結(jié)果為校驗成功時確定所述調(diào)用方為業(yè)務(wù)插件。
b14、如b13所述的裝置,
所述校驗?zāi)K,用于調(diào)用本地插件數(shù)據(jù)對所述驗證信息進(jìn)行校驗,和/或,將所述驗證信息上傳給服務(wù)器進(jìn)行校驗。
b15、如b14所述的裝置,
所述校驗?zāi)K,用于主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,從所述本地數(shù)據(jù)單元中獲取所述目標(biāo)應(yīng)用的插件數(shù)據(jù);判斷所述插件數(shù)據(jù)中是否存在所述調(diào)用方的包名和簽名;若所述插件數(shù)據(jù)中存在所述調(diào)用方的包名和簽名,確認(rèn)校驗成功的校驗結(jié)果;所述調(diào)用方的包名和簽名中至少一個不在所述插件數(shù)據(jù)中,確認(rèn)校驗失敗的校驗結(jié)果。
b16、如b11所述的裝置,
所述返回模塊,還用于所述主程序通過管理單元調(diào)用本地數(shù)據(jù)單元,獲取所述包名對應(yīng)業(yè)務(wù)插件的權(quán)限信息;若依據(jù)所述權(quán)限信息確定所述業(yè)務(wù)插件具有調(diào)用所述目標(biāo)信息的權(quán)限,向所述調(diào)用方返回所述目標(biāo)信息。
b17、如b11-b16任一所述的裝置,所述主程序用于管理所述目標(biāo)應(yīng)用;所述業(yè)務(wù)插件是所述目標(biāo)應(yīng)用的功能拆分確定的;所述目標(biāo)信息用于獲取用戶信息。
b18、如b17所述的裝置,還包括:
插件管理模塊,用于所述主程序通過管理單元從服務(wù)端獲取業(yè)務(wù)插件的插件數(shù)據(jù),將所述插件數(shù)據(jù)存儲到本地數(shù)據(jù)單元中。
b19、如b18所述的裝置,
所述插件管理模塊,還用于獲取所述目標(biāo)應(yīng)用中業(yè)務(wù)插件的版本信息;若依據(jù)所述版本信息檢測到業(yè)務(wù)插件需要更新,從服務(wù)器下載所述業(yè)務(wù)插件對應(yīng)的更新包;依據(jù)所述更新包對所述業(yè)務(wù)插件進(jìn)行更新。
b20、如b17所述的裝置,還包括:
用戶信息獲取模塊,用于所述業(yè)務(wù)插件依據(jù)數(shù)據(jù)請求將所述目標(biāo)信息發(fā)送給服務(wù)器;接收服務(wù)器的響應(yīng)信息,從所述響應(yīng)信息中獲取用戶信息。