利用 Android KeyStore System,您可以在容器中存儲加密密鑰,從而提高從設(shè)備中提取密鑰的難度。在密鑰進入密鑰庫后,可以將它們用于加密操作,而密鑰材料仍不可導(dǎo)出。此外,它提供了密鑰使用的時間和方式限制措施,例如要求進行用戶身份驗證才能使用密鑰,或者限制為只能在某些加密模式中使用。
為前鋒等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及前鋒網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站建設(shè)、前鋒網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
密鑰庫系統(tǒng)由 KeyChain API 以及在 Android 4.3(API 級別 18)中引入的 Android 密鑰庫提供程序功能使用。本文說明了何時以及如何使用 Android 密鑰庫提供程序。
1、 存儲密匙:Android提供的這個KeyStore最大的作用就是不需要開發(fā)者去維護這個密匙的存儲問題,相比起存儲在用戶的數(shù)據(jù)空間或者是外部存儲器都更加安全。注意的是這個密匙隨著用戶清除數(shù)據(jù)或者卸載應(yīng)用都會被清除掉。
2、得益于Android獨立的一套密匙庫系統(tǒng),可以提高安全性
Android 密鑰庫系統(tǒng)可以保護密鑰材料免遭未經(jīng)授權(quán)的使用。首先,Android 密鑰庫可以防止從應(yīng)用進程和 Android 設(shè)備中整體提取密鑰材料,從而避免了在 Android 設(shè)備之外以未經(jīng)授權(quán)的方式使用密鑰材料。其次,Android 密鑰庫可以讓應(yīng)用指定密鑰的授權(quán)使用方式,并在應(yīng)用進程之外強制實施這些限制,從而避免了在 Android 設(shè)備上以未經(jīng)授權(quán)的方式使用密鑰材料。
Android 密鑰庫密鑰使用兩項安全措施來避免密鑰材料被提?。?/p>
為了避免在 Android 設(shè)備上以未經(jīng)授權(quán)的方式使用密鑰材料,在生成或?qū)朊荑€時 Android 密鑰庫會讓應(yīng)用指定密鑰的授權(quán)使用方式。一旦生成或?qū)朊荑€,其授權(quán)將無法更改。然后,每次使用密鑰時,都會由 Android 密鑰庫強制執(zhí)行授權(quán)。這是一項高級安全功能,通常僅用于有以下要求的情形:在生成/導(dǎo)入密鑰后(而不是之前或當中),應(yīng)用進程受到攻擊不會導(dǎo)致密鑰以未經(jīng)授權(quán)的方式使用。
支持的密鑰使用授權(quán)可歸為以下幾個類別:
作為一項額外的安全措施,對于密鑰材料位于安全硬件內(nèi)部的密鑰(請參閱 KeyInfo.isInsideSecurityHardware()),某些密鑰使用授權(quán)可能由安全硬件實施,具體取決于 Android 設(shè)備。加密和用戶身份驗證授權(quán)可能由安全硬件實施。由于安全硬件一般不具備獨立的安全實時時鐘,時間有效性間隔授權(quán)不可能由其實施。
您可以使用 KeyInfo.isUserAuthenticationRequirementEnforcedBySecureHardware() 查詢密鑰的用戶身份驗證授權(quán)是否由安全硬件實施。
在需要系統(tǒng)級憑據(jù)時請使用 KeyChain API。在應(yīng)用通過 KeyChain API 請求使用任何憑據(jù)時,用戶需要通過系統(tǒng)提供的 UI 選擇應(yīng)用可以訪問已安裝的哪些憑據(jù)。因此,在用戶同意的情況下多個應(yīng)用可以使用同一套憑據(jù)。
使用 Android 密鑰庫提供程序讓各個應(yīng)用存儲自己的憑據(jù),并且只允許應(yīng)用自身訪問。這樣,應(yīng)用可以管理僅能由自己使用的憑據(jù),同時又可以提供等同于 KeyChain API 為系統(tǒng)級憑據(jù)提供的安全優(yōu)勢。這一方法不需要用戶選擇憑據(jù)。
要使用此功能,請使用標準的 KeyStore 和 KeyPairGenerator 或 KeyGenerator 類,以及在 Android 4.3(API 級別 18)中引入的 AndroidKeyStore 提供程序。
AndroidKeyStore 注冊為 KeyStore 類型以用于 KeyStore.getInstance(type) 方法,而在用于 KeyPairGenerator.getInstance(algorithm, provider) 和 KeyGenerator.getInstance(algorithm, provider) 方法時則注冊為提供程序。
生成新的 PrivateKey 要求您同時指定自簽署證書具備的初始 X.509 屬性。之后,您可以使用 KeyStore.setKeyEntry 將證書替換為由證書頒發(fā)機構(gòu) (CA) 簽署的證書。
要生成密鑰,請使用 KeyPairGenerator 和 KeyPairGeneratorSpec:
要生成密鑰,請使用 KeyGenerator 和 KeyGenParameterSpec。
AndroidKeyStore 提供程序的使用通過所有的標準 KeyStore API 加以實現(xiàn)。
通過調(diào)用 aliases() 方法列出密鑰庫中的條目:
通過從密鑰庫提取 KeyStore.Entry 并使用 Signature API(例如 sign())簽署數(shù)據(jù):
類似地,請使用 verify(byte[]) 方法驗證數(shù)據(jù):
生成密鑰或?qū)⒚荑€導(dǎo)入到 AndroidKeyStore 時,您可以指定密鑰僅授權(quán)給經(jīng)過身份驗證的用戶使用。用戶使用安全鎖定屏幕憑據(jù)(模式/PIN/密碼、指紋)的子集進行身份驗證。
這是一項高級安全功能,通常僅用于有以下要求的情形:在生成/導(dǎo)入密鑰后(而不是之前或當中),應(yīng)用進程受到攻擊不會導(dǎo)致密鑰被未經(jīng)身份驗證的用戶使用。
如果密鑰僅授權(quán)給經(jīng)過身份驗證的用戶使用,可以將其配置為以下列兩種模式之一運行:
第一種利用 java jdk 來生成
第二種. 利用eclipse 來生成
a.
進入 cmd 命令行提示符
進入到j(luò)dk的bin目錄(如圖:)
如圖進入java jdk的bin目錄后,輸入:
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore -alias android.keystore 回車
然后接下來就是按照提示輸入(如圖:)
完成上面的步驟后, 該 .keystore文件就已經(jīng)生成了, 在 bin目錄下
說明: android.keystore 是.keystore文件的名稱, 這里可以根據(jù)需要設(shè)定,
-validity 是該文件的有效期時間
密鑰口令就是以后簽名時需要填寫的Password
注意: 如果生成不成功,可能是因為沒有管理員權(quán)限,用需要以管理員身份生成.keystore文件
b.使用Eclipse 來生成一個keysotre文件
1. 在eclipse中 選擇一個Android 工程, 然后"右鍵" -- Android Tools --Export Signed Application Package--Create new keystore
說明:上圖的Location是要生成的keystore文件的位置,Password是keystore文件的密鑰
2.接下來還是和命令提示符里一樣的填寫相關(guān)信息
注意: 一定要記住輸入的密碼
想要使用高德地圖就必須要申請一個KEY,這沒有原因,這就是高德硬性規(guī)定的。
現(xiàn)在我就用最通俗的語言,最嚴謹?shù)乃悸犯蠹乙黄鹛骄吭趺传@取這個鑰匙,以及相關(guān)的注意事項
step
1、
當然是先申請成為高德開發(fā)者了(省略......這都不會那真是可以右轉(zhuǎn)德瑪西亞了)
step
2、進入到自己的賬號呢,右上角會有一個控制臺的小按鈕,點擊進入控制臺。中間有個獲取KEY有木有?!好了,本課程到此結(jié)束,謝謝觀賞
step
3、當你點擊【獲取KEY】之后就會出現(xiàn)一下界面了,依次輸入應(yīng)用名稱、綁定的服務(wù)、同意使用條款。
step
4、當點擊到綁定服務(wù)就會出現(xiàn)上面這個界面,輸入發(fā)布版的安全碼、調(diào)試版的安全碼和package,package很簡單就是manifest里面的package,但是SHA1是個什么鬼?該怎么獲取呢?
step
5、獲取SHA1之Eclipse和AS通用方法:【點這里】,其中需要注意的是:在發(fā)布正式版本的時候要把自己生成的簽名key放在C:\Users\Administrator\.android
下才可以
使用命令行即可。
復(fù)制代碼
cd C:\Android\
"C:\Program Files\Java\jdk1.6.0_16\bin\keytool.exe" -genkey -v -keystore android-release-key.keystore -alias androidreleasekey -keyalg RSA --validity 10000
回答以下問題
復(fù)制代碼
Enter keystore password: -- 設(shè)置keystore密碼-必須至少6個字符
What is your first and last name?
[Unknown]: -- 輸入你的名字
What is the name of your organizational unit?
[Unknown]: -- 組織單位, 可以忽略
What is the name of your organization?
[Unknown]: -- 組織, 可以忽略
What is the name of your City or Locality?
[Unknown]: -- 城市
What is the name of your State or Province?
[Unknown]: -- 省份
What is the two-letter country code for this unit?
[Unknown]: CN -- 國家
Is CN=ipod4g, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
[no]: yes -- 輸入 yes 確認
Generating 1,024 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
for: CN=ipod4g, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN
Enter key password for
(RETURN if same as keystore password): -- 設(shè)置key密碼,如與keystore密碼相同,回車
[Storing android-release-key.keystore]
android key
安卓鍵
雙語例句
1
Firstly, further analysis of Android system architecture and platform features, and then to introduce Android system constitute key concepts such as Activity, intent and so on.
本文首先深入分析Android系統(tǒng)的平臺特征和體系結(jié)構(gòu),詳盡地介紹Android系統(tǒng)程序構(gòu)成中的關(guān)鍵概念如Activity、Intent等。
查看Androidkeystore信息方法如下:1、打開CMD命令行進入本機安裝的jdk或jre下的bin目錄.2、命令行輸入:keytool-list-v-keystoreC:\Users\Desktop\browser\debug.keystore-storepassandroid3、這里查看的是androidadt默認帶的debug版keystore,密碼是:android
網(wǎng)站標題:androidkey,Android可以用java開發(fā)嗎
URL地址:http://jinyejixie.com/article26/dssdgjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站制作、做網(wǎng)站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)