為什么要給應用程序簽名?
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皆對這個軟件進行無條件放行,沒有風險警告,沒有安裝攔截,也沒有“發行者未知”的不友好提示,暢通無阻
可見,應用程序數字簽名是軟件代碼的安全保護者。
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若本站內容侵犯了原著者的合法權益,可聯系本站刪除。