本發(fā)明涉及電子技術領域,尤其涉及一種靜默安裝應用程序的方法及終端。
背景技術:
移動終端比如智能手機的快速發(fā)展讓運營商或第三方看準以智能手機為載體進行應用程序推廣的市場。通常,運營商或第三方通過無線下載(Over The Air,OTA)在未經(jīng)用戶許可的情況下,采用靜默安裝的方式強行在用戶手機上安裝需推廣的應用程序來達到應用程序市場推廣的目的。
目前靜默安裝主要有兩種方式,一種是利用系統(tǒng)簽名將安裝包(AndroidPackage,APK)文件安裝到移動設備上,另一種是移動終端在獲得root權限后,不通過系統(tǒng)的安裝器直接將應用程序進行安裝。
目前移動終端的大部分第三方應用程序(Application,APP)都能利用系統(tǒng)簽名實現(xiàn)靜默安裝,并且在用戶升級系統(tǒng)應用時,第三方應用能夠通過系統(tǒng)應用的系統(tǒng)簽名進行靜默升級。
由于第三方應用能夠自行獲取到系統(tǒng)簽名進行靜默安裝或升級,不需要系統(tǒng)簽名也能夠?qū)崿F(xiàn)靜默安裝,存在系統(tǒng)簽名外泄的風險,以及可能存在非法應用使用系統(tǒng)簽名來做壞事的情況。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種靜默安裝應用程序的方法及終端,能夠有效防止簽名信息外泄,從而減少因簽名信息外泄存在的安全隱患。
第一方面,本發(fā)明實施例提供了一種靜默安裝應用程序的方法,該方法包括:
若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;
根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用;
若所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息;
使用所述簽名信息靜默安裝所述第一應用。
另一方面,本發(fā)明實施例提供了一種終端,該終端包括:
預設應用信息獲取單元,用于若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;
判斷單元,用于根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用;
簽名信息獲取單元,用于若所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息;
靜默安裝單元,用于使用所述簽名信息靜默安裝所述第一應用。
本發(fā)明實施例通過若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
附圖說明
為了更清楚地說明本發(fā)明實施例技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種靜默安裝應用程序的方法的示意流程圖;
圖2是本發(fā)明另一實施例提供的一種靜默安裝應用程序的方法的示意流程圖;
圖3是本發(fā)明實施例提供的一種終端的示意性框圖;
圖4是本發(fā)明另一實施例提供的一種終端示意性框圖;
圖5是本發(fā)明再一實施例提供的一種終端示意性框圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在此本發(fā)明說明書中所使用的術語僅僅是出于描述特定實施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個”及“該”意在包括復數(shù)形式。
還應當進一步理解,在本發(fā)明說明書和所附權利要求書中使用的術語“和/或”是指相關聯(lián)列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權利要求書中所使用的那樣,術語“如果”可以依據(jù)上下文被解釋為“當...時”或“一旦”或“響應于確定”或“響應于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應于確定”或“一旦檢測到[所描述條件或事件]”或“響應于檢測到[所描述條件或事件]”。
具體實現(xiàn)中,本發(fā)明實施例中描述的終端包括但不限于諸如具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的移動電話、膝上型計算機或平板計算機之類的其它便攜式設備。還應當理解的是,在某些實施例中,所述設備并非便攜式通信設備,而是具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的臺式計算機。
在接下來的討論中,描述了包括顯示器和觸摸敏感表面的終端。然而,應當理解的是,終端可以包括諸如物理鍵盤、鼠標和/或控制桿的一個或多個其它物理用戶接口設備。
終端支持各種應用程序,例如以下中的一個或多個:繪圖應用程序、演示應用程序、文字處理應用程序、網(wǎng)站創(chuàng)建應用程序、盤刻錄應用程序、電子表格應用程序、游戲應用程序、電話應用程序、視頻會議應用程序、電子郵件應用程序、即時消息收發(fā)應用程序、鍛煉支持應用程序、照片管理應用程序、數(shù)碼相機應用程序、數(shù)字攝影機應用程序、web瀏覽應用程序、數(shù)字音樂播放器應用程序和/或數(shù)字視頻播放器應用程序。
可以在終端上執(zhí)行的各種應用程序可以使用諸如觸摸敏感表面的至少一個公共物理用戶接口設備??梢栽趹贸绦蛑g和/或相應應用程序內(nèi)調(diào)整和/或改變觸摸敏感表面的一個或多個功能以及終端上顯示的相應信息。這樣,終端的公共物理架構(例如,觸摸敏感表面)可以支持具有對用戶而言直觀且透明的用戶界面的各種應用程序。
請參見圖1,圖1是本發(fā)明實施例提供的一種靜默安裝應用程序的方法的示意流程圖。本實施例中靜默安裝應用程序的方法的執(zhí)行主體為終端。終端可以為手機、平板電腦等移動終端,但并不限于此,還可以是其他能夠安裝第三方應用程序的終端,此處不做限制。終端可以是安卓android操作系統(tǒng),也可以是windows操作系統(tǒng),或IOS操作系統(tǒng)。如圖1所示的靜默安裝應用程序的方法可包括以下步驟:
S101:若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息。
終端在正常工作時,應用程序?qū)訉蚣軐又邪惭b應用程序的行為進行監(jiān)聽,并在監(jiān)聽到第三方應用觸發(fā)第一應用的安裝進程時,獲取預先設置的授權靜默安裝其他應用的預設應用信息。
其中,第三應用可以是終端運營商開發(fā)的應用,也可以是與終端運營商合作的合作方開發(fā)的應用,此處不做限制。
該預設應用信息包括預設應用的安裝包信息以及預設應用的簽名信息,簽名信息用于授權安裝應用。預設應用的數(shù)目可以為一個,也可以為至少兩個,此處不做限制。第一應用為需要通過第三方應用進行靜默安裝的任意應用。
可以理解的是,終端內(nèi)預先存儲了預設的授權靜默安裝其他應用的預設應用信息,或能夠從服務器中獲取預先存儲的可授權靜默安裝其他應用的預設應用信息。
服務器中存儲的授權靜默安裝其他應用的預設應用信息可以是第三方應用的開發(fā)商提供給終端的開發(fā)商/運營商,由終端的開發(fā)商/運營商在各自的服務器中進行配置得到。預設應用信息可以進行實時或定期/不定期更新。
當終端需要從服務器中獲取預先存儲的授權靜默安裝其他應用的預設應用信息時,終端可以修改框架層,以實現(xiàn)在終端開機或預設情況下與服務器機建立通信連接,將服務器中存儲的預設的授權靜默安裝其他應用的預設應用信息,同步至終端。
S102:根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
終端從獲取到的預設應用信息中查找與第三方應用匹配的信息,以判斷第三方應用是否為授權靜默安裝其他應用的目標應用。從獲取到的預設應用信息中查找與第三方應用匹配的信息可以是,從預設應用信息包含的預設應用的安裝包信息中查找與第三方應用相匹配的安裝包信息。
其中,終端在獲取到的預設應用信息中查找到與第三方應用匹配的信息時,識別為第三方應用為授權靜默安裝其他應用的目標應用。
終端在獲取到的預設應用信息中未查找到與第三方應用匹配的信息時,識別為第三方應用不是授權靜默安裝其他應用的目標應用。
終端在確認第三方應用為授權靜默安裝其他應用的目標應用時,執(zhí)行步驟S103;終端在確認第三方應用不是授權靜默安裝其他應用的目標應用時,禁止通過該第三方應用靜默安裝任何其他應用。
S103:若所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
終端在確認第三方應用為授權靜默安裝其他應用的目標應用時,從預設的授權靜默安裝其他應用的預設應用信息中獲取該第三方應用的簽名信息。
S104:使用所述簽名信息靜默安裝所述第一應用。
終端啟動靜默安裝進程,調(diào)用靜默安裝應用的通信接口,并使用獲取到的簽名信息靜默安裝第一應用。
上述方案,終端若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
請參見圖2,圖2是本發(fā)明實施例提供的另一種靜默安裝應用程序的方法的示意流程圖。本實施例中靜默安裝應用程序的方法的執(zhí)行主體為終端。終端可以為手機、平板電腦等移動終端,但并不限于此,還可以是其他能夠安裝第三方應用程序的終端,此處不做限制。終端可以是安卓android操作系統(tǒng),也可以是windows操作系統(tǒng),或IOS操作系統(tǒng)。如圖1所示的靜默安裝應用程序的方法可包括以下步驟:
S201:獲取服務器中預設的白名單。
服務器中存儲了白名單,其中,白名單包括預先設置的可授權靜默安裝其他應用的預設應用信息,預設應用信息包括預設應用各自對應的安裝包標識以及簽名信息。預設應用可以為一個,也可以為至少兩個,此處不做限制。
第三應用可以是終端運營商開發(fā)的應用,也可以是與終端運營商合作的合作方開發(fā)的應用,此處不做限制。
當?shù)谌龖檬桥c終端運營商合作的合作方開發(fā)的應用時,服務器中存儲的授權靜默安裝其他應用的預設應用信息可以是第三方應用的開發(fā)商提供給終端的開發(fā)商/運營商,由終端的開發(fā)商/運營商在各自的服務器中進行配置得到。預設應用信息可以進行實時或定期/不定期更新。
例如,終端的開發(fā)商/運營商在與第三方應用的開發(fā)商的合作期間,可以把相應的第三方應用信息加入白名單,在解除合作時,可以將相應的第三方應用信息移除,移除之后該第三方應用就不能靜默安裝應用,實現(xiàn)動態(tài)控制授權靜默安裝其他應用的第三方應用。
終端可以修改框架層,在終端運行開機程序或在檢測到觸發(fā)與服務器通信的預設操作時,與服務器機建立通信連接,將服務器中存儲的白名單同步至終端內(nèi),從而將白名單中的授權靜默安裝其他應用的預設應用信息同步至終端。
可以理解的是,該白名單可以是終端主動獲取的,也可以是服務器主動發(fā)送的,此處不做限制。
可選地,在步驟S201之后,靜默安裝應用程序的方法還可包括:修改配置文件,設置用于標識是否允許所述白名單中的預設應用進行靜默安裝的系統(tǒng)變量。
例如,終端修改android rom系統(tǒng),在位于根目錄下的配置文件AndroidManifest.xml中添加權限android.permission.INSTALL_PACKAGES,并設置用于標識是否允許白名單中的預設應用進行靜默安裝的系統(tǒng)變量。
S202:若檢測到第三方應用觸發(fā)第一應用的安裝進程,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
終端在正常工作時,應用程序?qū)訉蚣軐又邪惭b應用程序的行為進行監(jiān)聽,并在監(jiān)聽到第三方應用觸發(fā)第一應用的安裝進程時,從白名單中獲取預設的授權靜默安裝其他應用的預設應用信息。
其中,該預設應用信息包括預設應用的安裝包信息以及預設應用的簽名信息,簽名信息用于授權安裝應用。預設應用的數(shù)目可以為一個,也可以為至少兩個,此處不做限制。第一應用為需要通過第三方應用進行靜默安裝的任意應用。
可以理解的是,第一應用的安裝進程可以是首次安裝進程,也可以是升級進程。
進一步地,當獲取服務器中預設的白名單之后,終端修改配置文件,設置用于標識是否允許所述白名單中的預設應用進行靜默安裝的系統(tǒng)變量時,步驟S202可以包括:若檢測到第三方應用觸發(fā)第一應用的安裝進程,則讀取所述系統(tǒng)變量;若所述系統(tǒng)變量標識允許所述白名單中的預設應用進行靜默安裝,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
例如,終端在正常工作,獲取到服務器中預設的白名單之后,應用程序?qū)訉蚣軐又邪惭b應用程序的行為進行監(jiān)聽,并在監(jiān)聽到第三方應用觸發(fā)第一應用的安裝進程時,讀取該系統(tǒng)變量,以判斷該系統(tǒng)變量是否對應允許白名單中的預設應用進行靜默安裝。
若該系統(tǒng)變量標識允許白名單中的預設應用進行靜默安裝,則從白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
若該系統(tǒng)變量標識不允許白名單中的預設應用進行靜默安裝,則調(diào)用有安裝界面的通信接口,提示用戶是否進行安裝。
S203:根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
終端從獲取到的預設應用信息中查找與第三方應用匹配的信息,以判斷第三方應用是否為授權靜默安裝其他應用的目標應用。從獲取到的預設應用信息中查找與第三方應用匹配的信息可以是,從預設應用信息包含的預設應用的安裝包信息中查找與第三方應用相匹配的安裝包信息。
其中,終端在獲取到的預設應用信息中查找到與第三方應用匹配的信息時,識別為第三方應用為授權靜默安裝其他應用的目標應用。
終端在獲取到的預設應用信息中未查找到與第三方應用匹配的信息時,識別為第三方應用不是授權靜默安裝其他應用的目標應用。
終端在確認第三方應用為授權靜默安裝其他應用的目標應用時,執(zhí)行步驟S204;終端在確認第三方應用不是授權靜默安裝其他應用的目標應用時,禁止通過該第三方應用靜默安裝任何其他應用。
S204:若所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
終端在確認第三方應用為授權靜默安裝其他應用的目標應用時,從預設的授權靜默安裝其他應用的預設應用信息中獲取該第三方應用的簽名信息。
S205:使用所述簽名信息靜默安裝所述第一應用。
終端啟動靜默安裝進程,調(diào)用靜默安裝應用的通信接口,并使用獲取到的簽名信息發(fā)起靜默安裝第一應用的進程。
S206:獲取新安裝成功的第二應用的信息。
終端在使用獲取到的簽名信息發(fā)起靜默安裝第一應用的進程之后,第三方應用注冊一個android系統(tǒng)廣播android.intent.action.PACKAGE_ADDED,該系統(tǒng)廣播用于監(jiān)聽新安裝成功的應用的安裝包標識,并設置等待安裝時間。終端在確認當前時刻到達或即將到達等待安裝時間對應的結束時刻時,獲取系統(tǒng)發(fā)出的用于標識已新安裝成功第二應用的系統(tǒng)通知。
其中,等待安裝時間可以為15秒,但并不限于此,該等待安裝時間需要根據(jù)安裝包的大小進行設置。第二應用泛指新安裝的應用。
終端在獲取到該系統(tǒng)通知時,從該系統(tǒng)通知中獲取新安裝成功的第二應用的信息,并判斷新安裝成功的第二應用的信息是否與第一應用相匹配。
終端在確認新安裝成功的第二應用的信息與第一應用相匹配時,執(zhí)行步驟S207。終端在確認新安裝成功的第二應用的信息與第一應用不匹配時,確認第一應用靜默安裝失敗。
S207:若所述第二應用的信息與所述第一應用相匹配,則識別為成功安裝所述第一應用。
終端在確認新安裝成功的第二應用的信息與第一應用相匹配時,識別為成功安裝第一應用。
進一步地,步驟S207可以包括:若所述第二應用的安裝包名稱以及版本號與所述第一應用的安裝包名稱以及版本號均一致,則識別為成功安裝所述第一應用。
例如,終端在確認第二應用的安裝包名稱與第一應用的安裝包名稱一致時,進一步判斷第二應用的版本號與第一應用的版本號是否一致,當確認第二應用的安裝包名稱與第一應用的安裝包名稱一致,且第二應用的版本號與第一應用的版本號也一致時,識別為已成功安裝第一應用。
上述方案,終端若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
終端能夠通過第三方應用靜默安裝其他應用,更新其他應用的界面、資源等。
通過設置白名單,能夠?qū)⒌谌綉玫陌惭b包APK集成軟件開發(fā)工具包(Software Development Kit,SDK)以靜默更新系統(tǒng)APK。其中,SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。
參見圖3,圖3是本發(fā)明實施例提供的一種終端的示意性框圖。終端可以為手機、平板電腦等移動終端,但并不限于此,還可以為其他終端,此處不做限制。本實施例的終端300包括的各單元用于執(zhí)行圖1對應的實施例中的各步驟,具體請參閱圖1以及圖1對應的實施例中的相關描述,此處不贅述。本實施例的終端包括:預設應用信息獲取單元310、判斷單元320、簽名信息獲取單元330以及靜默安裝單元340。
預設應用信息獲取單元310用于若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息。
比如,預設應用信息獲取單元310若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息。
預設應用信息獲取單元310將授權靜默安裝其他應用的預設應用信息向判斷單元320發(fā)送。
判斷單元320用于接收預設應用信息獲取單元310發(fā)送的授權靜默安裝其他應用的預設應用信息,根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
比如,判斷單元320接收預設應用信息獲取單元310發(fā)送的授權靜默安裝其他應用的預設應用信息,根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
判斷單元320將判斷結果向簽名信息獲取單元330發(fā)送。
簽名信息獲取單元330用于接收判斷單元320發(fā)送的判斷結果,若判斷結果為所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
比如,簽名信息獲取單元330接收判斷單元320發(fā)送的判斷結果,若判斷結果為所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
簽名信息獲取單元330將簽名信息向靜默安裝單元340發(fā)送。
靜默安裝單元340用于接收簽名信息獲取單元330發(fā)送的簽名信息,使用所述簽名信息靜默安裝所述第一應用。
比如,靜默安裝單元340接收簽名信息獲取單元330發(fā)送的簽名信息,使用所述簽名信息靜默安裝所述第一應用。
上述方案,終端若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
參見圖4,圖4是本發(fā)明另一實施例提供的一種終端的示意性框圖。終端可以為手機、平板電腦等移動終端,但并不限于此,還可以為其他終端,此處不做限制。本實施例的終端400包括的各單元用于執(zhí)行圖2對應的實施例中的各步驟,具體請參閱圖2以及圖2對應的實施例中的相關描述,此處不贅述。本實施例的終端400包括:白名單獲取單元410、設置單元420、預設應用信息獲取單元430、判斷單元440、簽名信息獲取單元450、靜默安裝單元460、安裝信息獲取單元470以及驗證單元480。
白名單獲取單元410用于獲取服務器中預設的白名單;其中,所述白名單包括所述授權靜默安裝其他應用的預設應用信息,所述預設應用信息包括所述預設應用各自對應的安裝包標識以及簽名信息。
比如,白名單獲取單元410獲取服務器中預設的白名單;其中,所述白名單包括所述授權靜默安裝其他應用的預設應用信息,所述預設應用信息包括所述預設應用各自對應的安裝包標識以及簽名信息。
白名單獲取單元410將白名單信息向預設應用信息獲取單元310發(fā)送,以及在獲取到白名單時向設置單元420發(fā)送通知信息。
設置單元420用于接收白名單獲取單元410發(fā)送的通知信息,修改配置文件,設置用于標識是否允許所述白名單中的預設應用進行靜默安裝的系統(tǒng)變量。
比如,設置單元420接收白名單獲取單元410發(fā)送的通知信息,修改配置文件,設置用于標識是否允許所述白名單中的預設應用進行靜默安裝的系統(tǒng)變量。設置單元420將系統(tǒng)變量信息向預設應用信息獲取單元430發(fā)送。
預設應用信息獲取單元430用于接收白名單獲取單元410發(fā)送的白名單信息,若檢測到第三方應用觸發(fā)第一應用的安裝進程,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
比如,預設應用信息獲取單元430接收白名單獲取單元410發(fā)送的白名單信息若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息。
進一步地,預設應用信息獲取單元430用于接收白名單獲取單元410發(fā)送的白名單信息,以及接收設置單元420發(fā)送的系統(tǒng)變量信息,若檢測到第三方應用觸發(fā)第一應用的安裝進程,則讀取所述系統(tǒng)變量;若所述系統(tǒng)變量標識允許所述白名單中的預設應用進行靜默安裝,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
預設應用信息獲取單元430將授權靜默安裝其他應用的預設應用信息向判斷單元440發(fā)送。
判斷單元440用于接收預設應用信息獲取單元430發(fā)送的授權靜默安裝其他應用的預設應用信息,根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
比如,判斷單元440接收預設應用信息獲取單元430發(fā)送的授權靜默安裝其他應用的預設應用信息,根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
判斷單元440將判斷結果向簽名信息獲取單元450發(fā)送。
簽名信息獲取單元450用于接收判斷單元440發(fā)送的判斷結果,若判斷結果為所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
比如,簽名信息獲取單元450接收判斷單元440發(fā)送的判斷結果,若判斷結果為所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
簽名信息獲取單元450將簽名信息向靜默安裝單元460發(fā)送。
靜默安裝單元460用于接收簽名信息獲取單元450發(fā)送的簽名信息,使用所述簽名信息靜默安裝所述第一應用。比如,靜默安裝單元460接收簽名信息獲取單元450發(fā)送的簽名信息,使用所述簽名信息靜默安裝所述第一應用。靜默安裝單元460向安裝信息獲取單元470發(fā)送通知信息。
安裝信息獲取單元470用于接收靜默安裝單元460發(fā)送的通知信息,獲取新安裝成功的第二應用的信息。安裝信息獲取單元470將第二應用的信息向驗證單元480發(fā)送。
驗證單元480用于接收安裝信息獲取單元470發(fā)送的第二應用的信息,若所述第二應用的信息與所述第一應用相匹配,則識別為成功安裝所述第一應用。
進一步地,驗證單元480用于若所述第二應用的安裝包名稱以及版本號與所述第一應用的安裝包名稱以及版本號均一致,則識別為成功安裝所述第一應用。
上述方案,終端若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
終端能夠通過第三方應用靜默安裝其他應用,更新其他應用的界面、資源等。
通過設置白名單,能夠?qū)⒌谌綉玫陌惭b包APK集成軟件開發(fā)工具包(Software Development Kit,SDK)以靜默更新系統(tǒng)APK。其中,SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。
參見圖5,圖5是本發(fā)明再一實施例提供的一種終端示意框圖。如圖所示的本實施例中的終端500可以包括:一個或多個處理器510;一個或多個輸入設備520,一個或多個輸出設備530和存儲器540。上述處理器510、輸入設備520、輸出設備530和存儲器540通過總線550連接。
存儲器540用于存儲程序指令。
處理器510用于根據(jù)存儲器540存儲的程序指令執(zhí)行以下操作:
處理器510用于若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息。
處理器510還用于根據(jù)所述預設應用信息判斷所述第三方應用是否為授權靜默安裝其他應用的目標應用。
處理器510還用于若所述第三方應用為授權靜默安裝其他應用的目標應用,則獲取所述第三方應用的簽名信息。
處理器510還用于使用所述簽名信息靜默安裝所述第一應用。
進一步地,處理器510還用于獲取服務器中預設的白名單;其中,所述白名單包括所述授權靜默安裝其他應用的預設應用信息,所述預設應用信息包括所述預設應用各自對應的安裝包標識以及簽名信息;以及用于若檢測到第三方應用觸發(fā)第一應用的安裝進程,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
進一步地,處理器510還用于修改配置文件,設置用于標識是否允許所述白名單中的預設應用進行靜默安裝的系統(tǒng)變量;若檢測到第三方應用觸發(fā)第一應用的安裝進程,則讀取所述系統(tǒng)變量;若所述系統(tǒng)變量標識允許所述白名單中的預設應用進行靜默安裝,則從所述白名單中獲取所述授權靜默安裝其他應用的預設應用信息。
進一步地,處理器510還用于獲取新安裝成功的第二應用的信息;若所述第二應用的信息與所述第一應用相匹配,則識別為成功安裝所述第一應用。
進一步地,處理器510具體用于若所述第二應用的安裝包名稱以及版本號與所述第一應用的安裝包名稱以及版本號均一致,則識別為成功安裝所述第一應用。
上述方案,終端若檢測到第三方應用觸發(fā)第一應用的安裝進程,則獲取授權靜默安裝其他應用的預設應用信息;根據(jù)預設應用信息判斷第三方應用是否為授權靜默安裝其他應用的目標應用;若第三方應用為授權靜默安裝其他應用的目標應用,則獲取第三方應用的簽名信息;使用簽名信息靜默安裝第一應用。由于預先設置了授權靜默安裝其他應用的預設應用信息,使得只有授權的第三方應用才被允許啟動靜默安裝進程,這樣能夠有效防止在未授權第三方應用靜默安裝其他應用的情況下,其他應用獲取該第三方應用的簽名信息進行靜默安裝,有效減少因第三方應用的簽名信息被泄露而引起的數(shù)據(jù)安全隱患。
終端能夠通過第三方應用靜默安裝其他應用,更新其他應用的界面、資源等。
通過設置白名單,能夠?qū)⒌谌綉玫陌惭b包APK集成軟件開發(fā)工具包(Software Development Kit,SDK)以靜默更新系統(tǒng)APK。其中,SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。
應當理解,在本發(fā)明實施例中,所稱處理器510可以是中央處理單元(Central Processing Unit,CPU),該處理器還可以是其他通用處理器、數(shù)字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
輸入設備520可以包括觸控板、指紋采傳感器(用于采集用戶的指紋信息和指紋的方向信息)、麥克風等,輸出設備530可以包括顯示器(LCD等)、揚聲器等。
該存儲器540可以包括只讀存儲器和隨機存取存儲器,并向處理器510提供指令和數(shù)據(jù)。存儲器540的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器540還可以存儲設備類型的信息。
具體實現(xiàn)中,本發(fā)明實施例中所描述的處理器510、輸入設備520、輸出設備530可執(zhí)行本發(fā)明實施例提供的靜默安裝應用程序的方法的第一實施例和第二實施例中所描述的實現(xiàn)方式,也可執(zhí)行本發(fā)明實施例所描述的終端的實現(xiàn)方式,在此不再贅述。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的終端和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
本發(fā)明實施例方法中的步驟可以根據(jù)實際需要進行順序調(diào)整、合并和刪減。
本發(fā)明實施例終端中的單元可以根據(jù)實際需要進行合并、劃分和刪減。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。