欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android系統(tǒng)制作自定義簽名的例子

 更新時間:2020年03月19日 11:09:25   作者:FeiPeng_  
這篇文章主要介紹了Android系統(tǒng)制作自定義簽名的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、簡介

應客戶要求為了是特殊定制的系統(tǒng)更具安全,系統(tǒng)ROM需要使用自己定義的簽名,還有一些特殊的場景也會更改系統(tǒng)的簽名比如在過cts認證測試的時候也會修改平臺簽名才能測試通過關于簽名的問題。

這是因為平臺默認的是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) releasekey

b) media

c) shared

d) platform

我們就拿platform 為例簡單介紹下生成過程。

1)進入/Android源碼根目錄/development/tools目錄。

2)使用make_key工具生成簽名文件

development/tools$ sh make_key platform
‘/C=CN/ST=ShanXi/L=Xi`an/O=Company/OU=Department/CN=banfeipeng/emailAddress=23333869@qq.com'

Enter password for ‘shared' (blank for none; password will be visible): mypassword <——- 設置你的密碼
creating shared.pk8 with no password
Generating RSA private key, 2048 bit long modulus
……………………………………..+++
………………+++
e is 65537 (0x10001)

3)make_key的參數(shù)介紹

這里要順便介紹下make_key的參數(shù)。第一個參數(shù)是要生成key的名字,第二個參數(shù)是關于你公司的信息。

key的名字很好理解,就是前面提到的4中類型的key,公司信息的參數(shù)比較多,它們的含義如下:

C —> Country Name (2 letter code)

ST —> State or Province Name (full name)

L —> Locality Name (eg, city)

O —> Organization Name (eg, company)

OU —> Organizational Unit Name (eg, section)

CN —> Common Name (eg, your name or your server's hostname)

emailAddress —> Contact email address

4)生成后的結果如下:

5)pk8是生成的私鑰,而*.x509.pem是公鑰,生成時兩者是成對出現(xiàn)的.

3、修改android平臺簽名為剛才修改的簽名文件

1.修改build/core/config.mk將:

ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE
DEFAULT_SYSTEM_DEV_CERTIFICATE := $(PRODUCT_DEFAULT_DEV_CERTIFICATE)
else
DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/testkey
endif

修改為:

ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE
DEFAULT_SYSTEM_DEV_CERTIFICATE := $(PRODUCT_DEFAULT_DEV_CERTIFICATE)
else
DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/XXXreleasekey
endif

2.將上面生成的簽名文件放到 build/target/product/security/XXX/目錄

3.修改external/sepolicy/keys.conf

補充知識:test.pk8 和 test.x509.pem轉換為 android studio 使用的 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 文件導入platform.p12文件中,
::并設置 別名 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導入 testkey.jks 簽名中,并設置storepass密碼(12345678)
::需要正確提供keypass 密碼
::此時即生成了需要的testkey.jks 簽名文件
%keytool% -importkeystore -deststorepass %storePassword% -destkeystore %out_name% -srckeystore %tmp_file1% -srcstoretype PKCS12 -srcstorepass %keyPassword%

::刪除臨時文件
del %tmp_file1%
del %tmp_file2%

::查看生成的 簽名信息
%keytool% -list -v -keystore %out_name%
pause

以上這篇Android系統(tǒng)制作自定義簽名的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Android通話默認打開揚聲器的方法

    Android通話默認打開揚聲器的方法

    這篇文章主要介紹了Android通話默認打開揚聲器的方法.小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Android實現(xiàn)2048小游戲

    Android實現(xiàn)2048小游戲

    這篇文章主要為大家介紹了Android實現(xiàn)2048小游戲的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android自定義選項卡切換效果

    Android自定義選項卡切換效果

    這篇文章主要為大家詳細介紹了Android自定義選項卡切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android開發(fā)之RecyclerView控件

    Android開發(fā)之RecyclerView控件

    本文給大家介紹的是Android開發(fā)中常用的RecyclerView控件的使用方法以及簡單的特性,有需要的小伙伴可以參考下
    2016-02-02
  • Android PicSelector圖片選擇器小功能

    Android PicSelector圖片選擇器小功能

    這篇文章主要為大家詳細介紹了Android PicSelector圖片選擇器小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android Scroller完全解析

    Android Scroller完全解析

    這篇文章主要為大家詳細介紹了Android Scroller源碼,區(qū)分scrollTo()和scrollBy(),感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android使用webView加載html頁面的詳細步驟

    Android使用webView加載html頁面的詳細步驟

    Android WebView是Android開發(fā)中提供的一種用于顯示網(wǎng)頁內(nèi)容的組件,它可以加載網(wǎng)頁的url鏈接,也可以加載本地的html文件,下面這篇文章主要給大家介紹了關于Android使用webView加載html頁面的相關資料,需要的朋友可以參考下
    2024-06-06
  • Android獲取當前手機網(wǎng)絡類型(2g、3g、4g、wifi)以及手機型號、版本號代碼

    Android獲取當前手機網(wǎng)絡類型(2g、3g、4g、wifi)以及手機型號、版本號代碼

    這篇文章主要介紹了Android獲取當前手機網(wǎng)絡類型(2g、3g、4g、wifi)以及手機型號、版本號的相關資料,需要的朋友可以參考下
    2016-03-03
  • Android一次性退出多個Activity的方法

    Android一次性退出多個Activity的方法

    這篇文章主要介紹了Android一次性退出多個Activity的方法,結合實例形式分析了Activity的創(chuàng)建,繼承,遍歷與關閉等實現(xiàn)步驟與相關技巧,需要的朋友可以參考下
    2016-02-02
  • 解決Android-RecyclerView列表倒計時錯亂問題

    解決Android-RecyclerView列表倒計時錯亂問題

    這篇文章主要介紹了解決Android-RecyclerView列表倒計時錯亂問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論