器中獲取所述插件安裝包的屬性信息,其中,所述屬性信息包括下述信息中的一項(xiàng)或多項(xiàng):插件安裝包的名稱、插件類型、插件支持的最低應(yīng)用版本號(hào);
[0079]判斷子模塊,用于判斷欲安裝的所述插件安裝包的應(yīng)用的當(dāng)前版本號(hào);
[0080]所述第一確定子模塊用于,在所述當(dāng)前版本號(hào)不低于所述最低應(yīng)用版本號(hào)時(shí),轉(zhuǎn)向允許安裝所述插件安裝包的步驟;
[0081]所述第二確定子模塊用于,在所述當(dāng)前版本低于所述最低應(yīng)用版本號(hào)時(shí),轉(zhuǎn)向不允許安裝所述插件安裝包的步驟。
[0082]在一個(gè)實(shí)施例中,所述密鑰獲取模塊包括:
[0083]發(fā)送子模塊,用于在從所述預(yù)設(shè)服務(wù)器獲取到插件安裝包后,發(fā)送所述插件安裝包對(duì)應(yīng)的解密密鑰的獲取請(qǐng)求至所述預(yù)設(shè)服務(wù)器;
[0084]接收子模塊,用于接收所述預(yù)設(shè)服務(wù)器發(fā)送的與所述插件安裝包對(duì)應(yīng)的解密密鑰;或者
[0085]解析子模塊,用于在從所述預(yù)設(shè)服務(wù)器獲取到插件安裝包后,對(duì)所述插件安裝包進(jìn)行解析獲取其中包含的解密密鑰。
[0086]根據(jù)本公開實(shí)施例的第五方面,提供一種插件安裝包上傳裝置,所述裝置包括:
[0087]處理器;
[0088]用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0089]其中,所述處理器被配置為:
[0090]接收插件的所有相關(guān)文件;
[0091]將所述所有相關(guān)文件使用預(yù)設(shè)算法進(jìn)行計(jì)算,得到第一數(shù)值;
[0092]使用加密密鑰對(duì)所述第一數(shù)值進(jìn)行加密,將所述加密后的第一數(shù)值寫入簽名文件;
[0093]將簽名文件和所述所有相關(guān)文件進(jìn)行打包,生成插件安裝包;
[0094]上傳所述插件安裝包至預(yù)設(shè)服務(wù)器。
[0095]根據(jù)本公開實(shí)施例的第六方面,提供一種插件安裝包安裝裝置,所述裝置包括:
[0096]處理器;
[0097]用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0098]其中,所述處理器被配置為:
[0099]在從預(yù)設(shè)服務(wù)器獲取到插件安裝包后,獲取所述插件安裝包對(duì)應(yīng)的解密密鑰,其中,所述插件安裝包中包括插件的簽名文件和所有相關(guān)文件,所述解密密鑰與所述簽名文件的加密密鑰相對(duì)應(yīng);
[0100]使用所述解密密鑰對(duì)所述加密后的第一數(shù)值進(jìn)行解密,得到第一數(shù)值;
[0101]將所述所有相關(guān)文件使用預(yù)設(shè)算法進(jìn)行計(jì)算,得到第二數(shù)值;
[0102]將所述第一數(shù)值和所述第二數(shù)值進(jìn)行比較,得到比較結(jié)果;
[0103]根據(jù)比較結(jié)果確定是否允許安裝所述插件安裝包。
[0104]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0105]上述技術(shù)方案,將通過(guò)對(duì)插件的所有相關(guān)文件進(jìn)行計(jì)算得到的第一數(shù)值寫入簽名文件,將簽名文件和插件的所有相關(guān)文件打包成插件安裝包上傳,并在獲取到插件安裝包時(shí),重新根據(jù)插件的所有相關(guān)文件計(jì)算,得到第二數(shù)值,將第一數(shù)值與第二數(shù)值進(jìn)行對(duì)比,即可判斷插件安裝包里的文件是否被篡改,從而保證插件安裝包的安裝安全,防止被第三方惡意篡改,提升用戶的使用體驗(yàn)。
[0106]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說(shuō)明】
[0107]此處的附圖被并入說(shuō)明書中并構(gòu)成本說(shuō)明書的一部分,示出了符合本公開的實(shí)施例,并與說(shuō)明書一起用于解釋本公開的原理。
[0108]圖1是根據(jù)一示例性實(shí)施例示出的插件安裝包上傳方法的流程圖。
[0109]圖2是根據(jù)一示例性實(shí)施例示出的一種插件安裝包上傳方法的流程圖。
[0110]圖3是根據(jù)一示例性實(shí)施例示出的另一種插件安裝包上傳方法的流程圖。
[0111]圖4是根據(jù)一示例性實(shí)施例示出的再一種插件安裝包上傳方法的流程圖。
[0112]圖5A是根據(jù)一示例性實(shí)施例示出的又一種插件安裝包上傳方法的流程圖。
[0113]圖5B是根據(jù)一示例性實(shí)施例示出的插件安裝包管理界面示意圖。
[0114]圖6是根據(jù)一示例性實(shí)施例示出的插件安裝包安裝方法的流程圖。
[0115]圖7是根據(jù)一示例性實(shí)施例示出的一種插件安裝包安裝方法的流程圖。
[0116]圖8是根據(jù)一示例性實(shí)施例示出的另一種插件安裝包安裝方法的流程圖。
[0117]圖9是根據(jù)一示例性實(shí)施例示出的再一種插件安裝包安裝方法的流程圖。
[0118]圖10是根據(jù)一示例性實(shí)施例示出的又一種插件安裝包安裝方法的流程圖。
[0119]圖11是根據(jù)一示例性實(shí)施例示出的插件安裝包上傳裝置的框圖。
[0120]圖12是根據(jù)一示例性實(shí)施例示出的一種插件安裝包上傳裝置的框圖。
[0121]圖13是根據(jù)一示例性實(shí)施例示出的另一種插件安裝包上傳裝置的框圖。
[0122]圖14是根據(jù)一示例性實(shí)施例示出的一種插件安裝包上傳裝置中第一生成模塊的框圖。
[0123]圖15是根據(jù)一示例性實(shí)施例示出的再一種插件安裝包上傳裝置的框圖。
[0124]圖16是根據(jù)一示例性實(shí)施例示出的插件安裝包安裝裝置的框圖。
[0125]圖17是根據(jù)一示例性實(shí)施例一示出的插件安裝包安裝裝置中確定模塊的框圖。
[0126]圖18是根據(jù)一示例性實(shí)施例二示出的插件安裝包安裝裝置中確定模塊的框圖。
[0127]圖19是根據(jù)一示例性實(shí)施例示出的插件安裝包安裝裝置中密鑰獲取模塊的框圖。
[0128]圖20是根據(jù)一示例性實(shí)施例示出的適用于插件安裝包上傳裝置和插件安裝包安裝裝置的框圖。
【具體實(shí)施方式】
[0129]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
[0130]本公開實(shí)施例提供了一種插件安裝包上傳方法,如圖1所示,該方法包括步驟S101-S105:
[0131]在步驟SlOl中,接收插件的所有相關(guān)文件;
[0132]在步驟S102中,將所有相關(guān)文件使用預(yù)設(shè)算法進(jìn)行計(jì)算,得到第一數(shù)值。在一個(gè)實(shí)施例中,預(yù)設(shè)算法包括哈希算法。當(dāng)然,預(yù)設(shè)算法也可以是其他可對(duì)所有相關(guān)文件進(jìn)行加密的加密算法,例如RSA算法、DES (Data Encrypt1n Standard,數(shù)據(jù)加密標(biāo)準(zhǔn))等。
[0133]在步驟S103中,使用加密密鑰對(duì)第一數(shù)值進(jìn)行加密,將加密后的第一數(shù)值寫入簽名文件。使用加密密鑰進(jìn)行加密,這樣,可以保證第一數(shù)值的安全,保證其不會(huì)被篡改或被輕易獲取。
[0134]在步驟S104中,將簽名文件和所述所有相關(guān)文件進(jìn)行打包,生成插件安裝包。
[0135]在該實(shí)施例中,將簽名文件和插件的所有相關(guān)文件進(jìn)行打包,生成插件安裝包,即進(jìn)行數(shù)字簽名。數(shù)字簽名可以用來(lái)證實(shí)消息確實(shí)是由發(fā)送者簽發(fā)的,而且當(dāng)數(shù)字簽名用于存儲(chǔ)數(shù)據(jù)或程序時(shí),可以用來(lái)驗(yàn)證數(shù)據(jù)或程序的完整性。它和傳統(tǒng)手寫簽名類似,應(yīng)具有以下特征:(1)不可偽造性:除了簽名者外,任何人都不能偽造簽名者的合法簽名。(2)認(rèn)證性:接收者相信這份簽名來(lái)自簽名者。(3)不可重用性:一個(gè)消息的簽名不能用于其他消息。(4)不可修改性:一個(gè)消息在簽名后不能被修改。(5)不可抵賴性:簽名者事后不能否認(rèn)自己的簽名。
[0136]在步驟S105中,上傳插件安裝包至預(yù)設(shè)服務(wù)器。將簽名文件和所有相關(guān)文件進(jìn)行打包,得到插件安裝包,這樣,即使插件安裝包里的相關(guān)文件被篡改,由于簽名文件中的第一數(shù)值已進(jìn)行加密,而沒(méi)有解密密鑰并不能對(duì)其進(jìn)行操作,因此,在將插件安裝包上傳至預(yù)設(shè)服務(wù)器的過(guò)程中,可以保證簽名文件的安全,進(jìn)而根據(jù)簽名文件判斷插件安裝包里的相關(guān)文件是否被篡改,從而有效地保證用戶安裝插件安裝包的安全,防止被第三方惡意篡改,提升用戶的使用體驗(yàn)。
[0137]如圖2所示,在一個(gè)實(shí)施例中,上述插件安裝包上傳方法還包括步驟S201-S202:
[0138]在步驟S201中,接收輸入的密鑰生成命令;
[0139]在步驟S202中,根據(jù)密鑰生成命令,生成加密密鑰和與加密密鑰對(duì)應(yīng)的解密密鑰。
[0140]在該實(shí)施例中,根據(jù)加密密鑰生成與其對(duì)應(yīng)的解密密鑰,從而組成密鑰對(duì),實(shí)現(xiàn)對(duì)第一數(shù)值的加密和解密。其中,加密密鑰可以是私鑰,解密密鑰可以是公鑰。其中,公鑰和私鑰是通過(guò)一種算法得到的一個(gè)密鑰對(duì)(即一個(gè)公鑰和一個(gè)私鑰)其中的一個(gè)向外界公開,稱為公鑰;另一個(gè)自己保留,稱為私鑰。通過(guò)這種算法得到的密鑰對(duì)能保證在世界范圍內(nèi)是唯一的。使用這個(gè)密鑰對(duì)的時(shí)候,如果用其中一個(gè)密鑰加密一段數(shù)據(jù),必須用另一個(gè)密鑰解密。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會(huì)成功。
[0141]使用公鑰和私鑰配對(duì)的方式,實(shí)現(xiàn)插件安裝包的加密上傳和解密安裝,可以有效地保證插件安裝包不被第三方篡改,提高安全性。
[0142]其中,解密密鑰可以通過(guò)下述兩種方式上傳至預(yù)設(shè)服務(wù)器。
[0143]方式一:
[0144]如圖3所示,在一個(gè)實(shí)施例中,上述方法還包括步驟S301:
[0145]在步驟S301中,上傳解密密鑰至預(yù)設(shè)服務(wù)器,預(yù)設(shè)服務(wù)器用于將插件安裝包和解密密鑰進(jìn)行對(duì)應(yīng)存儲(chǔ)。
[0146]在該實(shí)施例中,將解密密鑰上傳至預(yù)設(shè)服務(wù)器,并與插件安裝包對(duì)應(yīng)存儲(chǔ),這樣,應(yīng)用程序或終端設(shè)備等在欲安裝插件安裝包時(shí),可以向預(yù)設(shè)服務(wù)器發(fā)送解密密鑰獲取請(qǐng)求,從而從服務(wù)器側(cè)獲取解密密鑰,對(duì)加密后的簽名文件進(jìn)行解密,驗(yàn)證插件安裝包是否被偽造或被篡改。
[0147]解密密鑰由服務(wù)器保存,由于服務(wù)器的權(quán)威性和安全性,可以充分保證解密密鑰的安全性。
[0148]在服務(wù)器側(cè)保存的解密密鑰,需要加密后保存,避免明文保存,在服務(wù)器根據(jù)解密密鑰獲取請(qǐng)求,返回解密密鑰時(shí),同樣需要將加密之后的解密密鑰返回給服務(wù)器,避免明文傳輸,關(guān)于解密密鑰如何解密,可以預(yù)先預(yù)定對(duì)應(yīng)的密碼。
[0149]方式二:
[0150]如圖4所示,在一個(gè)實(shí)施例中,上述步驟S104包括步驟S401:
[0151]在步驟S401中,將解密密鑰、簽名文件、所有相關(guān)文件進(jìn)行打包生成插件安裝包。
[0152]在該實(shí)施例中,將解密密鑰、簽名文件和所有相關(guān)文件一起打包生成插件安裝包,這樣,在應(yīng)用程序或終端設(shè)備等在欲安裝插件安裝包時(shí),可以直接從插件安裝包中解析出解密密鑰,進(jìn)而根據(jù)解密密鑰對(duì)簽名文件中加密后的第一數(shù)值進(jìn)行解密,驗(yàn)證插件安裝包是否被偽造或被篡改。
[0153]如圖5A所示,在一個(gè)實(shí)施例中,上述方法還包括步驟S501:
[0154]在步驟S501中,上傳插件安裝包的屬性信息至預(yù)設(shè)服務(wù)器,其中,屬性信息中包括下述一項(xiàng)或多項(xiàng):
[0155]插件安裝包的名稱、插件類型、插件所支持的最低應(yīng)用版本。
[0156]在該實(shí)施例中,如圖5B所示,在上傳插件安裝包之前,還可以輸出提示界面,提示插件開發(fā)者輸入如插件安裝包名稱、插件類型、插件所支持的最低應(yīng)用版本等信息,進(jìn)而將這些信息一同上傳至預(yù)設(shè)服務(wù)器,這樣,在應(yīng)用程序或終端設(shè)備等在欲安裝插件安裝包時(shí),目標(biāo)使用用戶可以清楚的獲知插件的詳細(xì)信息,同時(shí)也方便應(yīng)用程序或終端設(shè)備等根據(jù)插件類型、名稱、所支持的最低版