成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android數(shù)字證書具體應用機制

移動開發(fā) Android
Android數(shù)字證書的作用是非常重要的。Android操作系統(tǒng)每一個應用程序的安裝都需要經過這一數(shù)字證書的簽名。

Android手機操作系統(tǒng)作為一款比較流行的開源系統(tǒng)在手機領域占據(jù)著舉足輕重的地位。 在Android系統(tǒng)中,所有安裝到系統(tǒng)的應用程序都必有一個Android數(shù)字證書,此數(shù)字證書用于標識應用程序的作者和在應用程序之間建立信任關系,如果一個permission的protectionLevel為signature,那么就只有那些跟該permission所在的程序擁有同一個數(shù)字證書的應用程序才能取得該權限。#t#

Android使用Java的數(shù)字證書相關的機制來給apk加蓋數(shù)字證書,要理解Android數(shù)字證書,需要先了解以下數(shù)字證書的概念和java的數(shù)字證書機制。

基礎概念:數(shù)字證書:

數(shù)字證實是采用數(shù)字手段來證實用戶身份的一種方法。數(shù)字證書含有兩部分數(shù)據(jù):一部分是對應主體(單位或個人)的信息,另一部分是這個主體所對應的公鑰。即數(shù)字證書保存了主體和它的公鑰的一一對應關系,用于自我認證(向其他的用戶證明自己的身份)。

Java數(shù)字證書工具。

Java中的keytool.exe可以用來創(chuàng)建數(shù)字證書,所有的數(shù)字證書是以一條一條(采用別名區(qū)別)的形式存入證書庫的中,證書庫中的一條證書包含該條證書的私鑰,公鑰和對應的數(shù)字證書的信息。證書庫中的一條證書可以導出數(shù)字證書文件,數(shù)字證書文件只包括主體信息和對應的公鑰。

每一個證書庫是一個文件組成,它有訪問密碼,在***創(chuàng)建時,它會自動生成證書庫,并要求指定訪問證書庫的密碼。

在創(chuàng)建證書的的時候,需要填寫證書的一些信息和證書對應的私鑰密碼。這些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,它們的意思是:

CN(Common Name名字與姓氏)

OU(Organization Unit組織單位名稱)

O(Organization組織名稱)

L(Locality城市或區(qū)域名稱)

ST(State州或省份名稱)

C(Country國家名稱)

可以采用交互式讓工具提示輸入以上信息,也可以采用參數(shù)

-dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx"來自動創(chuàng)建。

例如這條命令:

keytool -genkey -alias testCA -keyalg RSA -keysize 1024 -keystore testCALib -validity 3650

在數(shù)字證書庫testCALib中創(chuàng)建了一個別名為testCA,使用RSA算法加密的,有效期為3650天的數(shù)字證書。

證書生成以后,我們可以使用命名將數(shù)字證書導出為一個文件。

keytool -export -alias testCA -file testCA.cer -keystore testALib -rfc

有關keytool的其他用法可以查詢keytool的幫助文檔。

數(shù)字證書生成以后,我們需要使用生成的數(shù)字證書給程序包簽名,這個是使用jarsigner 工具。例如,如果我們有一個android的程序包calendar.apk.,我們就可以使用剛生成的testCA給改程序包簽名。

jarsigner -keystore testCALib calendar.apk testCA.

Android數(shù)字證書概述:

Android系統(tǒng)要求每一個安裝進系統(tǒng)的應用程序都是經過數(shù)字證書簽名的,數(shù)字證書的私鑰則保存在程序開發(fā)者的手中。Android將數(shù)字證書用來標識應用程序的作者和在應用程序之間建立信任關系,兒不是用來決定最終用戶可以安裝哪些應用程序。這個數(shù)字證書并不需要權威的數(shù)字證書簽名機構認證,它只是用來讓應用程序包自我認證的。

Android數(shù)字證書包含以下幾個要點:

(1)所有的應用程序都必須有數(shù)字證書,Android系統(tǒng)不會安裝一個沒有數(shù)字證書的應用程序

(2)Android程序包使用的數(shù)字證書可以是自簽名的,不需要一個權威的數(shù)字證書機構簽名認證

(3)如果要正式發(fā)布一個Android ,必須使用一個合適的私鑰生成的數(shù)字證書來給程序簽名,而不能使用adt插件或者ant工具生成的調試證書來發(fā)布。

(4)數(shù)字證書都是有有效期的,Android只是在應用程序安裝的時候才會檢查證書的有效期。如果程序已經安裝在系統(tǒng)中,即使證書過期也不會影響程序的正常功能。

(***ndroid使用標準的java工具 Keytool and Jarsigner 來生成數(shù)字證書,并給應用程序包簽名。

Android系統(tǒng)不會安裝運行任何一款未經數(shù)字簽名的apk程序,無論是在模擬器上還是在實際的物理設備上。Android的開發(fā)工具(ADT插件和Ant)都可以協(xié)助開發(fā)者給apk程序簽名,它們都有兩種模式:調試模式(debug mode)和發(fā)布模式(release mode)。

在調試模式下,android的開發(fā)工具會在每次編譯時使用調試用的數(shù)字證書給程序簽名,開發(fā)者無須關心。

當要發(fā)布程序時,開發(fā)者就需要使用自己的數(shù)字證書給apk包簽名,可以有兩種方法。

(1)在命令行下使用JDK中的和Keytool(用于生成數(shù)字證書)和Jarsigner(用于使用數(shù)字證書簽名)來給apk包簽名

(2)使用ADT Export Wizard進行簽名(如果沒有數(shù)字證書可能需要生成數(shù)字證書)

簽名策略:

同一個開發(fā)者的多個程序盡可能使用同一個數(shù)字證書,這可以帶來以下好處。

(1)有利于程序升級,當新版程序和舊版程序的數(shù)字證書相同時,Android系統(tǒng)才會認為這兩個程序是同一個程序的不同版本。如果新版程序和舊版程序的數(shù)字證書不相同,則Android系統(tǒng)認為他們是不同的程序,并產生沖突,會要求新程序更改包名。

(2)有利于程序的模塊化設計和開發(fā)。Android系統(tǒng)允許擁有同一個數(shù)字簽名的程序運行在一個進程中,Android程序會將他們視為同一個程序。所以開發(fā)者可以將自己的程序分模塊開發(fā),而用戶只需要在需要的時候下載適當?shù)哪K。

(3)可以通過權限(permission)的方式在多個程序間共享數(shù)據(jù)和代碼。Android提供了基于數(shù)字證書的權限賦予機制,應用程序可以和其他的程序共享概功能或者數(shù)據(jù)給那那些與自己擁有相同數(shù)字證書的程序。如果某個權限(permission)的protectionLevel是signature,則這個權限就只能授予那些跟該權限所在的包擁有同一個數(shù)字證書的程序。

另一個需要考慮的是Android數(shù)字證書的有效期:

(1)數(shù)字證書的有效期要包含程序的預計生命周期,一旦數(shù)字證書失效,持有改數(shù)字證書的程序將不能正常升級。

(2)如果多個程序使用同一個數(shù)字證書,則該數(shù)字證書的有效期要包含所有程序的預計生命周期。

(3)Android Market強制要求所有應用程序數(shù)字證書的有效期要持續(xù)到2033年10月22日以后。

責任編輯:曹凱 來源: CSDN
相關推薦

2011-09-13 09:37:38

2009-08-14 13:58:43

數(shù)字證書通信加密身份驗證

2020-03-12 10:41:35

數(shù)字簽名加密證書劫持

2016-11-10 23:51:41

2013-06-28 10:24:31

2010-09-02 21:10:13

2011-03-01 10:15:19

Firefox支付寶

2024-11-28 09:43:54

2010-10-25 13:51:33

2010-06-21 08:52:12

數(shù)字證書.NET

2011-07-18 14:44:29

2012-07-30 10:00:56

2011-11-03 09:24:57

李洋簽名

2012-06-15 09:37:43

2010-01-15 16:45:14

2021-02-15 16:45:26

網(wǎng)絡安全密碼技術數(shù)字證書

2021-09-28 09:16:00

網(wǎng)絡空間安全網(wǎng)絡安全信息泄露

2021-09-26 05:59:16

數(shù)字簽名數(shù)字證書HTTPS

2011-08-30 14:29:31

數(shù)字簽名數(shù)字證書
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线一区二区三区 | 国产成人精品一区二区三区四区 | 91精品国产一区二区三区蜜臀 | 91精品一区二区三区久久久久 | 毛片免费观看视频 | 中文字幕一区在线观看视频 | 久久亚洲精品国产精品紫薇 | 日本三级网址 | 欧美一区二区三区四区五区无卡码 | 中文字幕一区二区三区精彩视频 | 久久精品视频网站 | 精品一区二区三区免费视频 | 国产精品久久久久久久7电影 | 日日干夜夜操天天操 | 国产欧美在线播放 | 欧美日韩在线免费 | 日本色高清 | 国产综合久久 | 亚洲乱码一区二区三区在线观看 | 黄色大片免费网站 | 九九精品在线 | 97国产爽爽爽久久久 | 网站一区二区三区 | 91欧美精品成人综合在线观看 | 中文字幕高清一区 | 久久综合久色欧美综合狠狠 | 黄色成人av| 国产精品久久国产精品久久 | 麻豆一区二区三区精品视频 | 国产精品久久久久久久久久免费看 | 亚洲天堂一区 | 伊人精品在线 | 天天操天天插天天干 | 亚洲精品小视频在线观看 | 九九热视频这里只有精品 | 日韩欧美中文 | 日韩成人中文字幕 | 999精彩视频| 国产精品日韩欧美一区二区三区 | 久久岛国 | 国产精品视频网站 |