為什么要給應(yīng)用程序簽名?
1、為什么要給Android應(yīng)用程序簽名?
Android系統(tǒng)要求每一個Android應(yīng)用程序必須要經(jīng)過數(shù)字簽名才能夠安裝到系統(tǒng)中,也就是說如果一個Android應(yīng)用程序沒有經(jīng)過數(shù)字簽名,是沒有辦法安裝到系統(tǒng)中的!Android通過數(shù)字簽名來標(biāo)識應(yīng)用程序的作者和在應(yīng)用程序之間建立信任關(guān)系,不是用來決定最終用戶可以安裝哪些應(yīng)用程序。這個數(shù)字簽名由應(yīng)用程序的作者完成,并不需要權(quán)威的數(shù)字證書簽名機(jī)構(gòu)認(rèn)證,它只是用來讓應(yīng)用程序包自我認(rèn)證的。
將數(shù)字證書與軟件連接時,需要輸入一些軟件的正確信息。通常,一個數(shù)字證書只能保護(hù)一個軟件的安全,所以在填寫軟件的域名時需要準(zhǔn)確。如果填寫的信息有錯漏,在一定程度上也會影響簽名。簽名時,需要更改軟件中的相關(guān)設(shè)置,并將辦理的數(shù)字簽名設(shè)置為可以信任的證書。
2、為什么我開發(fā)的Android應(yīng)用程序沒有做什么簽名也能在模擬器和手機(jī)上運(yùn)行?
你沒有給Android應(yīng)用程序簽名并不代表Android應(yīng)用程序沒有被簽名。為了方便我們開發(fā)調(diào)試程序,ADT會自動的使用debug密鑰為應(yīng)用程序簽名。debug密鑰?它在哪?debug密鑰是一個名為debug.keystore的文件,它的位置:
Ubuntu: ~/.android/debug.keystore (win10: c:/user/.Android/debug.keystore; xp: C:/Documents and Settings/user/.Android/debug.keystore)
“user”對應(yīng)于你自己的windows操作系統(tǒng)用戶名,這也就意味著,如果我們想擁有自己的簽名,而不是讓ADT幫我們簽名的話,我們也要有一個屬于自己的密鑰文件(*.keystore)
未使用數(shù)字簽名的軟件可能無法正常運(yùn)行,以Windows系統(tǒng)為例,如果用戶下載運(yùn)行未簽名的軟件, Windows系統(tǒng)會發(fā)出紅色安全警告;而未簽名的ActiveX控件,Windows會直接攔截不允許運(yùn)行。因此,數(shù)字簽名是軟件發(fā)行前必不可少的一道工序。
對軟件進(jìn)行數(shù)字簽名的前提是需要申請一張代碼簽名證書,它可用于簽署Adobe Air、Apple 平臺、Java、Mozilla對象文件以及MS Office宏和VBA應(yīng)用程序。為何要對軟件進(jìn)行數(shù)字簽名呢?
1、應(yīng)用程序數(shù)字簽名不僅減少軟件下載時彈出的安全警告,讓用戶可以放心下載軟件
2、數(shù)字簽名可以驗證發(fā)行者的真實身份
當(dāng)使用代碼簽名證書對軟件進(jìn)行數(shù)字簽名之后,用戶就能知道該軟件的發(fā)行者是誰,不用擔(dān)心是否是假冒軟件,大大的增加了用戶的可信度,從而建立良好的軟件品牌信譽(yù)度,提升公司形象。
3、數(shù)字簽名可以防止軟件被惡意篡改
數(shù)字簽名就相當(dāng)于一張“封條”,可以防止軟件發(fā)行之后被惡意篡改或被人非法捆綁一些間諜軟件后用戶下載,從而更有效地保護(hù)了軟件開發(fā)商的切身利益和產(chǎn)品品牌。
我們都知道,代碼簽名證書主要有OV和EV兩種類型,為什么軟件更需要EV代碼簽名證書呢?
1、EV代碼簽名證書執(zhí)行的是更加嚴(yán)格的審核標(biāo)準(zhǔn),它對于證書的申請者進(jìn)行了嚴(yán)格的身份確認(rèn),確保證書的使用者身份真實可信。
2、EV代碼簽名證書通常使用更加嚴(yán)格的證書載體來存儲證書,即軟件發(fā)布者在使用EV代碼簽名證書對軟件進(jìn)行數(shù)字簽名的時候,需要拿到對應(yīng)的eToken插入到電腦中,輸入密碼方可進(jìn)行數(shù)字簽名,這種方式減少了證書被惡意復(fù)制后濫用的風(fēng)險。
當(dāng)軟件使用了EV代碼簽名證書之后,無論是下載還是安裝,Windows皆對這個軟件進(jìn)行無條件放行,沒有風(fēng)險警告,沒有安裝攔截,也沒有“發(fā)行者未知”的不友好提示,暢通無阻
可見,應(yīng)用程序數(shù)字簽名是軟件代碼的安全保護(hù)者。
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。