為什麼要給應用程式簽名?

snca發表於2022-07-26

1、為什麼要給Android應用程式簽名?

Android系統要求每一個Android應用程式必須要經過數字簽名才能夠安裝到系統中,也就是說如果一個Android應用程式沒有經過數字簽名,是沒有辦法安裝到系統中的!Android透過數字簽名來標識應用程式的作者和在應用程式之間建立信任關係,不是用來決定終端使用者可以安裝哪些應用程式。這個數字簽名由應用程式的作者完成,並不需要權威的數字證照籤名機構認證,它只是用來讓應用程式包自我認證的。

將數字證照與軟體連線時,需要輸入一些軟體的正確資訊。通常,一個數字證照只能保護一個軟體的安全,所以在填寫軟體的域名時需要準確。如果填寫的資訊有錯漏,在一定程度上也會影響簽名。簽名時,需要更改軟體中的相關設定,並將辦理的數字簽名設定為可以信任的證照。

為什麼要給應用程式簽名?

2、為什麼我開發的Android應用程式沒有做什麼簽名也能在模擬器和手機上執行?

你沒有給Android應用程式簽名並不代表Android應用程式沒有被簽名。為了方便我們開發除錯程式,ADT會自動的使用debug金鑰為應用程式簽名。debug金鑰?它在哪?debug金鑰是一個名為debug.keystore的檔案,它的位置:

Ubuntu: ~/.android/debug.keystore (win10: c:/user/.Android/debug.keystore;  xp: C:/Documents and Settings/user/.Android/debug.keystore)

“user”對應於你自己的windows作業系統使用者名稱,這也就意味著,如果我們想擁有自己的簽名,而不是讓ADT幫我們簽名的話,我們也要有一個屬於自己的金鑰檔案(*.keystore)

未使用數字簽名的軟體可能無法正常執行,以Windows系統為例,如果使用者下載執行未簽名的軟體, Windows系統會發出紅色安全警告;而未簽名的ActiveX控制元件,Windows會直接攔截不允許執行。因此,數字簽名是軟體發行前必不可少的一道工序。

為什麼要給應用程式簽名?

對軟體進行數字簽名的前提是需要申請一張程式碼簽名證照,它可用於簽署Adobe Air、Apple 平臺、Java、Mozilla物件檔案以及MS Office宏和VBA應用程式。為何要對軟體進行數字簽名呢?

1、應用程式數字簽名不僅減少軟體下載時彈出的安全警告,讓使用者可以放心下載軟體

2、數字簽名可以驗證發行者的真實身份

當使用程式碼簽名證照對軟體進行數字簽名之後,使用者就能知道該軟體的發行者是誰,不用擔心是否是假冒軟體,大大的增加了使用者的可信度,從而建立良好的軟體品牌信譽度,提升公司形象。

3、數字簽名可以防止軟體被惡意篡改

數字簽名就相當於一張“封條”,可以防止軟體發行之後被惡意篡改或被人非法捆綁一些間諜軟體後使用者下載,從而更有效地保護了軟體開發商的切身利益和產品品牌。

我們都知道,程式碼簽名證照主要有OV和EV兩種型別,為什麼軟體更需要EV程式碼簽名證照呢?

1、EV程式碼簽名證照執行的是更加嚴格的稽核標準,它對於證照的申請者進行了嚴格的身份確認,確保證照的使用者身份真實可信。

2、EV程式碼簽名證照通常使用更加嚴格的證照載體來儲存證照,即軟體釋出者在使用EV程式碼簽名證照對軟體進行數字簽名的時候,需要拿到對應的eToken插入到電腦中,輸入密碼方可進行數字簽名,這種方式減少了證照被惡意複製後濫用的風險。

當軟體使用了EV程式碼簽名證照之後,無論是下載還是安裝,Windows皆對這個軟體進行無條件放行,沒有風險警告,沒有安裝攔截,也沒有“發行者未知”的不友好提示,暢通無阻

可見,應用程式數字簽名是軟體程式碼的安全保護者。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017559/viewspace-2907597/,如需轉載,請註明出處,否則將追究法律責任。

相關文章