【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名_第1頁
【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名_第2頁
【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名_第3頁
【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名_第4頁
【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】Android系統(tǒng)如何制作自定義簽名

這篇文章給大家分享的是有關(guān)Android系統(tǒng)如何制作自定義簽名的內(nèi)容。在下覺得挺實用的,因此分享給大家做個參考,一起跟隨在下過來看看吧。Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。1、簡介應(yīng)客戶要求為了是特殊定制的系統(tǒng)更具安全,系統(tǒng)ROM需要使用自己定義的簽名,還有一些特殊的場景也會更改系統(tǒng)的簽名比如在過cts認證測試的時候也會修改平臺簽名才能測試通過關(guān)于簽名的問題。這是因為平臺默認的是test簽名.網(wǎng)上大多說簽名的都是app簽名而非平臺簽名。test簽名這種類型的key只適用于開發(fā)階段,而且這種秘鑰是公開的,誰都可以使用。當發(fā)布一款android產(chǎn)品,就需要另外給整個系統(tǒng)簽個名,防止被別人盜用。這種系統(tǒng)就是release版本的Android系統(tǒng)。這里就簡單記錄下方法。2、制作自己的平臺release簽名要對Android系統(tǒng)進行簽名,需要生成四種類型的key文件。a)releasekeyb)mediac)sharedd)platform我們就拿platform為例簡單介紹下生成過程。1)進入/Android源碼根目錄/development/tools目錄。2)使用make_key工具生成簽名文件development/tools$shmake_keyplatform‘/C=CN/ST=ShanXi/L=Xi`an/O=Company/OU=Department/CN=banfeipeng/emailAddress=23333869@'development/tools$shmake_keyplatform‘/C=CN/ST=ShanXi/L=Xi`an/O=Company/OU=Department/CN=banfeipeng/emailAddress=23333869@'Enterpasswordfor‘shared'(blankfornone;passwordwillbevisible):mypassword<——-設(shè)置你的密碼creatingshared.pk8withnopasswordGeneratingRSAprivatekey,2048bitlongmodulus……..+++………………+++eis65537(0x10001)Enterpasswordfor‘shared'(blankfornone;passwordwillbevisible):mypassword<——-設(shè)置你的密碼creatingshared.pk8withnopasswordGeneratingRSAprivatekey,2048bitlongmodulus……..+++………………+++eis65537(0x10001)3)make_key的參數(shù)介紹這里要順便介紹下make_key的參數(shù)。第一個參數(shù)是要生成key的名字,第二個參數(shù)是關(guān)于你公司的信息。key的名字很好理解,就是前面提到的4中類型的key,公司信息的參數(shù)比較多,它們的含義如下:C—>CountryName(2lettercode)ST—>StateorProvinceName(fullname)L—>LocalityName(eg,city)O—>OrganizationName(eg,company)OU—>OrganizationalUnitName(eg,section)CN—>CommonName(eg,yournameoryourserver'shostname)emailAddress—>ContactemailaddressC—>CountryName(2lettercode)ST—>StateorProvinceName(fullname)L—>LocalityName(eg,city)O—>OrganizationName(eg,company)OU—>OrganizationalUnitName(eg,section)CN—>CommonName(eg,yournameoryourserver'shostname)emailAddress—>Contactemailaddress4)生成后的結(jié)果如下:5)pk8是生成的私鑰,而*.x509.pem是公鑰,生成時兩者是成對出現(xiàn)的.3、修改android平臺簽名為剛才修改的簽名文件1.修改build/core/config.mk將:ifdefPRODUCT_DEFAULT_DEV_CERTIFICATEDEFAULT_SYSTEM_DEV_CERTIFICATE:=$(PRODUCT_DEFAULT_DEV_CERTIFICATE)elseDEFAULT_SYSTEM_DEV_CERTIFICATE:=build/target/product/security/testkeyendififdefPRODUCT_DEFAULT_DEV_CERTIFICATEDEFAULT_SYSTEM_DEV_CERTIFICATE:=$(PRODUCT_DEFAULT_DEV_CERTIFICATE)elseDEFAULT_SYSTEM_DEV_CERTIFICATE:=build/target/product/security/testkeyendif修改為:ifdefPRODUCT_DEFAULT_DEV_CERTIFICATEDEFAULT_SYSTEM_DEV_CERTIFICATE:=$(PRODUCT_DEFAULT_DEV_CERTIFICATE)elseDEFAULT_SYSTEM_DEV_CERTIFICATE:=build/target/product/security/XXXreleasekeyendififdefPRODUCT_DEFAULT_DEV_CERTIFICATEDEFAULT_SYSTEM_DEV_CERTIFICATE:=$(PRODUCT_DEFAULT_DEV_CERTIFICATE)elseDEFAULT_SYSTEM_DEV_CERTIFICATE:=build/target/product/security/XXXreleasekeyendif2.將上面生成的簽名文件放到build/target/product/security/XXX/目錄3.修改external/sepolicy/keys.conf補充知識:test.pk8和test.x509.pem轉(zhuǎn)換為androidstudio使用的keystore文件我就廢話不多說了,還是直接看代碼吧!set

in_pk8="F:\chNet\sign_mstar9380\testkey.pk8"

set

in_x509_pem="F:\chNet\sign_mstar9380\testkey.x509.pem"

set

out_name=out.keystore.testkey

set

out_alias="mstar"

set

storePassword=12345678

set

keyPassword=12345678

set

tmp_file1=platform.p12

set

tmp_file2=testkey.pem

set

openssl="D:\Program

Files\Git\usr\bin\openssl.exe"

set

keytool="C:\Program

Files\Java\jre1.8.0_191\bin\keytool.exe"

::使用

open

ssl

將pk8

解密為

pem

文件,

此時生成一個testkey.pem

文件

%openssl%

pkcs8

-inform

DER

-nocrypt

-in

%in_pk8%

-out

%tmp_file2%

::將兩個pem

文件導(dǎo)入platform.p12文件中,

::并設(shè)置

別名

testkey

和keypass

密碼:12345678

(別名和密碼可自定義)會新生成

platform.p12

%openssl%

pkcs12

-export

-in

%in_x509_pem%

-inkey

%tmp_file2%

-out

%tmp_file1%

-password

pass:%keyPassword%

-name

%out_alias%

::使用keytool

將之前生成的platform.p12導(dǎo)入

testkey.jks

簽名中,并設(shè)置storepass密碼(12345678)

::需要正確提供keypass

密碼

::此時即生成了需要的testkey.jks

簽名文件

%keytool%

-importkeystore

-deststorepass

%storePassword%

-destkeystore

%out_name%

-srckeystore

%tmp_file1%

-srcstoretype

PKCS12

-srcstorepass

%k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論