日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【轉(zhuǎn)】android工程版key

 techres 2012-04-17

android工程版key  

2011-11-28 16:07:20|  分類: 數(shù)字簽名 |字號(hào) 訂閱

本文翻譯整理自一俄羅斯同事的文檔
一、前言
goolge為我們提供了4個(gè)標(biāo)準(zhǔn)的key,以簽名測(cè)試程序:
testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system.
它們位于Android源碼的以下目錄
android\build\target\product\security
注意,這些key只是用于工程版的Android系統(tǒng).在編譯時(shí)android源碼時(shí),使用eng選項(xiàng)即表示編譯生成工程版的Android系統(tǒng),
而使用user選項(xiàng)時(shí)表示編譯用戶版(即正式版)的Android系統(tǒng)。
二、使用key生成keystore文件
使用google的標(biāo)準(zhǔn)key生成keystore文件。我們需要2個(gè)工具,openssl  (cryptography and SSL/TLS toolkit) and keytool
openssl是Linux上的一個(gè)工具,keytool則是JDK的一個(gè)工具,它位于JDK\bin目錄。在此假設(shè)你已經(jīng)把JDK\bin添加到了window的path環(huán)境變量中。因?yàn)橐话阌脩羰褂玫氖莣indow系統(tǒng),
所以我這里把Cygwin安裝在window上來(lái)模擬Linux環(huán)境,在Cygwin上使用opnssl.
關(guān)于Cygwi詳細(xì)內(nèi)容請(qǐng)參考cygwin安裝詳解》。
2.1、命令行方式
在這里我將以platform為例進(jìn)行講解。
通過(guò)“Cygwin Terminal”的進(jìn)入Cygwin的命令行,然后切換到key所在的目錄。即security目錄.
輸入以下命令:
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
執(zhí)行該命令,將在目錄下生成platform.pem文件
接著輸入以下命令:
openssl pkcs12 -export -in  platform.x509.pem -out platform.p12 -inkey  platform.pem -password pass:android -name androiddebugkey
執(zhí)行該命令,將在目錄下生成platform.p12文件,它本質(zhì)上應(yīng)該就是一個(gè)數(shù)字證書。
進(jìn)入DOS命令行,切換到key所在的目錄。即security
然后輸入命令:
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
執(zhí)行該命令,將在目錄下生成platform.jks文件,它就是我們需要的keystore文件。它的后綴本身是沒有關(guān)系。如果你更喜歡其后綴名為keystore。
上面的命令改成這樣就行了。
keytool -importkeystore -deststorepass android -destkeystore ./platform.keystore -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
另外,我方便我們可以使用批處理來(lái)進(jìn)行處理。
通過(guò)“Cygwin Terminal”的進(jìn)入Cygwin的命令行,然后切換到key所在的目錄。即security目錄.
使用sh ./export.sh命令運(yùn)行export.sh文件.
export.sh文件如下:
#!/bin/sh

FILES=`find . -name "*.pk8"`
cat > generateKeystore.bat << END
rem autogenerated file
END

for FILE in $FILES 
do
FILE_NAME=`echo $FILE | awk -F.pk8 '{print $1}'`
if [ -f ${FILE_NAME}.pem ] 
then
    echo "file ${FILE_NAME}.pem exists"
else
`openssl pkcs8 -inform DER -nocrypt -in ${FILE} -out ${FILE_NAME}.pem`
fi

`openssl pkcs12 -export -in ${FILE_NAME}.x509.pem -out ${FILE_NAME}.p12 -inkey ${FILE_NAME}.pem -password pass:android -name androiddebugkey`
cat >> generateKeystore.bat << END
keytool -importkeystore -deststorepass android -destkeystore ${FILE_NAME}.jks -srckeystore ${FILE_NAME}.p12 -srcstoretype PKCS12 -srcstorepass android
END

done
在運(yùn)行完成后,將在當(dāng)前目錄看到若干*pem文件,*.p12文件及一個(gè)generateKeystore.bat文件,window中直接雙擊運(yùn)行它。這時(shí)你將看到生成的*.jks文件,它們就是我們需要得keystore文件。
generateKeystore.bat文件如下:
rem autogenerated file
keytool -importkeystore -deststorepass android -destkeystore ./media.jks -srckeystore ./media.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./shared.jks -srckeystore ./shared.p12 -srcstoretype PKCS12 -srcstorepass android
keytool -importkeystore -deststorepass android -destkeystore ./testkey.jks -srckeystore ./testkey.p12 -srcstoretype PKCS12 -srcstorepass android
2.2、Keytool-IUI界面化方式。
Keytool-IUI is Cryptography GUI 工具. It allows create, manage keys and certificates, encrypt and decrypt files.
在使用Keytool-IUI前,我們還是需要使用opensll來(lái)先生成.pem文件。
在這里我將以platform為例進(jìn)行講解。
第一步、通過(guò)“Cygwin Terminal”的進(jìn)入Cygwin的命令行,然后切換到key所在的目錄。即security目錄.
輸入以下命令:
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
執(zhí)行該命令,將在目錄下生成platform.pem文件
第二步、雙擊keytool解壓目錄下的run_ktl.bat來(lái)啟動(dòng)Keytool IUI。進(jìn)入Keytool IUI -> Create -> Keystore界面, 設(shè)置keystore文件的名字及存儲(chǔ)路徑, 并把它的密碼設(shè)置為"android"。
如圖1:
使用google的標(biāo)準(zhǔn)測(cè)試key來(lái)簽名APK - hubingforever - 民主與科學(xué)
 
然后點(diǎn)擊"ok"按鈕
第三步、進(jìn)入Keytool IUI -> Import-> Keystore’s entry -> Private key -> PEM file format界面
選擇在第一步生成的Private key文件: platform.pem
選擇Certificates chain file: platform.x509.pem的路徑
設(shè)置輸出Keystore文件的路徑,并設(shè)置其密碼為android。
如圖2
使用google的標(biāo)準(zhǔn)測(cè)試key來(lái)簽名APK - hubingforever - 民主與科學(xué)
 
然后點(diǎn)擊"ok"按鈕
第四步、把的key在keystore中的別名設(shè)置為androiddebugkey,且密碼設(shè)置為android。
如圖3
使用google的標(biāo)準(zhǔn)測(cè)試key來(lái)簽名APK - hubingforever - 民主與科學(xué)
 
然后點(diǎn)擊"ok"按鈕,彈出成功導(dǎo)出keystore文件的對(duì)象框。點(diǎn)擊對(duì)話框的"ok"按鈕。
這時(shí)出現(xiàn)keysore文件列表的界面 。
如圖4:
使用google的標(biāo)準(zhǔn)測(cè)試key來(lái)簽名APK - hubingforever - 民主與科學(xué)
 
另外你可以通過(guò)View keystores來(lái)進(jìn)入該界面。
選中一個(gè)key項(xiàng)目,通過(guò)右鍵的"view Cerificate chain",可以看到key的指紋等詳細(xì)信息。
如圖5
使用google的標(biāo)準(zhǔn)測(cè)試key來(lái)簽名APK - hubingforever - 民主與科學(xué)

點(diǎn)擊"close"按鈕結(jié)束。
三、在eclipse中使用keystore
可以在eclipse的preferences設(shè)置你的要使用的keystore文件。
如圖6

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多