下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么使用數(shù)字證書
Android中怎么使用數(shù)字證書,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題?;A(chǔ)概念:數(shù)字證書:數(shù)字證實(shí)是采用數(shù)字手段來證實(shí)用戶身份的一種方法。數(shù)字證書含有兩部分?jǐn)?shù)據(jù):一部分是對(duì)應(yīng)主體(單位或個(gè)人)的信息,另一部分是這個(gè)主體所對(duì)應(yīng)的公鑰。即數(shù)字證書保存了主體和它的公鑰的一一對(duì)應(yīng)關(guān)系,用于自我認(rèn)證(向其他的用戶證明自己的身份)。Java數(shù)字證書工具。Java中的keytool.exe可以用來創(chuàng)建數(shù)字證書,所有的數(shù)字證書是以一條一條(采用別名區(qū)別)的形式存入證書庫的中,證書庫中的一條證書包含該條證書的私鑰,公鑰和對(duì)應(yīng)的數(shù)字證書的信息。證書庫中的一條證書可以導(dǎo)出數(shù)字證書文件,數(shù)字證書文件只包括主體信息和對(duì)應(yīng)的公鑰。每一個(gè)證書庫是一個(gè)文件組成,它有訪問密碼,在***創(chuàng)建時(shí),它會(huì)自動(dòng)生成證書庫,并要求指定訪問證書庫的密碼。在創(chuàng)建證書的的時(shí)候,需要填寫證書的一些信息和證書對(duì)應(yī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"來自動(dòng)創(chuàng)建。例如這條命令:keytool
-genkey
-alias
testCA
-keyalg
RSA
-keysize
1024
-keystore
testCALib
-validity
3650在數(shù)字證書庫testCALib中創(chuàng)建了一個(gè)別名為testCA,使用RSA算法加密的,有效期為3650天的數(shù)字證書。證書生成以后,我們可以使用命名將數(shù)字證書導(dǎo)出為一個(gè)文件。keytool
-export
-alias
testCA
-file
testCA.cer
-keystore
testALib
-rfc有關(guān)keytool的其他用法可以查詢keytool的幫助文檔。數(shù)字證書生成以后,我們需要使用生成的數(shù)字證書給程序包簽名,這個(gè)是使用jarsigner
工具。例如,如果我們有一個(gè)android的程序包c(diǎn)alendar.apk.,我們就可以使用剛生成的testCA給改程序包簽名。jarsigner
-keystore
testCALib
calendar.apk
testCA.Android數(shù)字證書概述:Android系統(tǒng)要求每一個(gè)安裝進(jìn)系統(tǒng)的應(yīng)用程序都是經(jīng)過數(shù)字證書簽名的,數(shù)字證書的私鑰則保存在程序開發(fā)者的手中。Android將數(shù)字證書用來標(biāo)識(shí)應(yīng)用程序的作者和在應(yīng)用程序之間建立信任關(guān)系,兒不是用來決定最終用戶可以安裝哪些應(yīng)用程序。這個(gè)數(shù)字證書并不需要權(quán)威的數(shù)字證書簽名機(jī)構(gòu)認(rèn)證,它只是用來讓應(yīng)用程序包自我認(rèn)證的。Android數(shù)字證書包含以下幾個(gè)要點(diǎn):(1)所有的應(yīng)用程序都必須有數(shù)字證書,Android系統(tǒng)不會(huì)安裝一個(gè)沒有數(shù)字證書的應(yīng)用程序(2)Android程序包使用的數(shù)字證書可以是自簽名的,不需要一個(gè)權(quán)威的數(shù)字證書機(jī)構(gòu)簽名認(rèn)證(3)如果要正式發(fā)布一個(gè)Android
,必須使用一個(gè)合適的私鑰生成的數(shù)字證書來給程序簽名,而不能使用adt插件或者ant工具生成的調(diào)試證書來發(fā)布。(4)數(shù)字證書都是有有效期的,Android只是在應(yīng)用程序安裝的時(shí)候才會(huì)檢查證書的有效期。如果程序已經(jīng)安裝在系統(tǒng)中,即使證書過期也不會(huì)影響程序的正常功能。(***ndroid使用標(biāo)準(zhǔn)的java工具
Keytool
and
Jarsigner
來生成數(shù)字證書,并給應(yīng)用程序包簽名。Android系統(tǒng)不會(huì)安裝運(yùn)行任何一款未經(jīng)數(shù)字簽名的apk程序,無論是在模擬器上還是在實(shí)際的物理設(shè)備上。Android的開發(fā)工具(ADT插件和Ant)都可以協(xié)助開發(fā)者給apk程序簽名,它們都有兩種模式:調(diào)試模式(debug
mode)和發(fā)布模式(release
mode)。在調(diào)試模式下,android的開發(fā)工具會(huì)在每次編譯時(shí)使用調(diào)試用的數(shù)字證書給程序簽名,開發(fā)者無須關(guān)心。當(dāng)要發(fā)布程序時(shí),開發(fā)者就需要使用自己的數(shù)字證書給apk包簽名,可以有兩種方法。(1)在命令行下使用JDK中的和Keytool(用于生成數(shù)字證書)和Jarsigner(用于使用數(shù)字證書簽名)來給apk包簽名(2)使用ADT
Export
Wizard進(jìn)行簽名(如果沒有數(shù)字證書可能需要生成數(shù)字證書)簽名策略:同一個(gè)開發(fā)者的多個(gè)程序盡可能使用同一個(gè)數(shù)字證書,這可以帶來以下好處。(1)有利于程序升級(jí),當(dāng)新版程序和舊版程序的數(shù)字證書相同時(shí),Android系統(tǒng)才會(huì)認(rèn)為這兩個(gè)程序是同一個(gè)程序的不同版本。如果新版程序和舊版程序的數(shù)字證書不相同,則Android系統(tǒng)認(rèn)為他們是不同的程序,并產(chǎn)生沖突,會(huì)要求新程序更改包名。(2)有利于程序的模塊化設(shè)計(jì)和開發(fā)。Android系統(tǒng)允許擁有同一個(gè)數(shù)字簽名的程序運(yùn)行在一個(gè)進(jìn)程中,Android程序會(huì)將他們視為同一個(gè)程序。所以開發(fā)者可以將自己的程序分模塊開發(fā),而用戶只需要在需要的時(shí)候下載適當(dāng)?shù)哪K。(3)可以通過權(quán)限(permission)的方式在多個(gè)程序間共享數(shù)據(jù)和代碼。Android提供了基于數(shù)字證書的權(quán)限賦予機(jī)制,應(yīng)用程序可以和其他的程序共享概功能或者數(shù)據(jù)給那那些與自己擁有相同數(shù)字證書的程序。如果某個(gè)權(quán)限(permission)的protectionLevel是signature,則這個(gè)權(quán)限就只能授予那些跟該權(quán)限所在的包擁有同一個(gè)數(shù)字證書的程序。另一個(gè)需要考慮的是Android數(shù)字證書的有效期:(1)數(shù)字證書的有效期要包含程序的預(yù)計(jì)生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年校園小賣部租賃合同及新品引進(jìn)協(xié)議3篇
- 二零二五年度青少年心理輔導(dǎo)服務(wù)合同3篇
- 二零二五版建筑玻璃及裝飾材料購銷合同2篇
- 2024版軟件開發(fā)項(xiàng)目居間合同
- 2025別墅裝修室內(nèi)外照明設(shè)計(jì)與安裝合同3篇
- 2025年度林業(yè)資源綜合管理與技術(shù)服務(wù)承包合同樣本3篇
- 二零二四年份版權(quán)轉(zhuǎn)讓與授權(quán)合同3篇
- 2025年度體育場(chǎng)館設(shè)施抵押融資合同范本3篇
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)安裝合同范本6篇
- 二零二五版城市綜合體項(xiàng)目施工監(jiān)管服務(wù)合同3篇
- 新型電力系統(tǒng)簡(jiǎn)介演示
- 特種設(shè)備行業(yè)團(tuán)隊(duì)建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營策略分析報(bào)告總結(jié)
- 買賣合同簽訂和履行風(fēng)險(xiǎn)控制
- 中央空調(diào)現(xiàn)場(chǎng)施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測(cè)定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書-2023.09
- -安規(guī)知識(shí)培訓(xùn)
- 2021-2022學(xué)年四川省成都市武侯區(qū)部編版四年級(jí)上冊(cè)期末考試語文試卷(解析版)
- 污水處理廠設(shè)備安裝施工方案
評(píng)論
0/150
提交評(píng)論