日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android】Android签名:pem和pk8转化为keystore,jks

發布時間:2023/12/10 Android 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android】Android签名:pem和pk8转化为keystore,jks 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android簽名,pem和pk8轉化為jks

  • Android簽名證書
  • Android簽名JKS
  • JKS簽名生成
  • How to use
  • 擴展 jks 轉pem/pk8

Android簽名證書

  • 前因
  • 最近更換了硬件設備,硬件廠商給了簽名的pem,pk8,最新的版本沒有給keystore,雖然現在使用jks了,實在沒辦法,就自己生成吧
  • 在AndroidMenifest.xml配置sharedUserId需要系統簽名
  • android:sharedUserId="android.uid.system"
    • 目前獲取系統權限的方法
    3. platform簽名 4. root固件 (有su) 5. 調用廠商封裝好的系統權限的sdk
    • 我們對第一點,做下記錄,那么會拿到廠商提供的以下兩個文件


    platform.pk8 保存private key 加密
    platform.x509.pem X.509證書 存儲數字證書,公鑰信息還能存各種key

    • 但是這兩種文件不能直接進行簽名,需要調用對App簽名
    java -jar signapk.jar platform.x509.pem platform.pk8 [old].apk [new].apk
    • 對于這種方式

    需要先生成apk,輸入命令簽名,再使用adb安裝
    調試 非常不方便,故想將pk8 和pem轉成通用的jks或者keystore的簽名

    Note:
    android一般除了使用jarsigner簽名,還有使用signapk 后者位于android源碼,前者位于jdk中。兩者使用的文件格式不同前者使用JKS,后者使用公鑰+私鑰是分開的


    Android簽名JKS

    • 準備工作
  • openssl (需下載安裝)
  • platform.pk8 & platform.x509.pem (廠商提供)
  • keytool (jdk自帶,默認已安裝jdk)
    • openssl安裝
  • 下載 openssl
  • 1. 官網,無Windows版本
    2. 鏡像,有Windows版本

    • 這里給大家排個坑

    首先對應好你的編譯APP的JDK版本,如果是JDK8,就下載1.1.1,
    如果是高的版本就下載3.0.0,不然你的JDK8keytool識別不了

  • 配置系統環鏡變量

  • JKS簽名生成

    主要分三步

  • pk8 私鑰解密pem格式
  • openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
  • 私鑰通過公鑰pem加密pk12, 需要輸入兩次密碼
  • openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name [別名]
  • 通過java的keytool 工具生成 keystore, 別名需要跟步驟2的一致,同樣輸入兩次密碼
  • jks

    keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass [密碼] -alias [別名]

    keystore

    keytool -importkeystore -destkeystore platform.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass [密碼] -alias [別名]
    • 在這里我遇到了一個小坑

    keytool 錯誤: java.io.IOException: parseAlgParameters failed: ObjectIdentifier() -- data isn't an object ID (tag = 48)

    解決方案: 使用jdk16的keytool


    How to use

    • 項目使用jks
    android {signingConfigs {MySignName {keyAlias "[別名]"keyPassword "[密碼]"storeFile file('[jks路徑]')storePassword "[密碼]"}}buildTypes {debug {signingConfig signingConfigs.MySignName}release{signingConfig signingConfigs.MySignName}} }

    Example:

    signingConfigs {signconfig {keyAlias 'platform'keyPassword 'android'storeFile file('../app/platform.jks')storePassword 'android'} }buildTypes {debug {signingConfig signingConfigs.signconfigminifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}release {signingConfig signingConfigs.signconfigminifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'} }
    • Bingo,現在Android Studio 調試安裝都是platform簽名后的apk

    擴展 jks 轉pem/pk8

    主要分五步

  • java keytool 轉成 pkcs12格式
  • keytool -importkeystore -srckeystore debug.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12
  • pkcs12 dump pem格式
  • openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem

    dump的文件格式

    Bag AttributesfriendlyName: [別名]localKeyID: 54 69 6D 65 20 31 35 37 31 38 39 30 30 31 35 30 30 30 Key Attributes: <No Attributes> -----BEGIN PRIVATE KEY----- .... -----END PRIVATE KEY----- Bag AttributesfriendlyName: [別名]localKeyID: 54 69 6D 65 20 31 35 37 31 38 39 30 30 31 35 30 30 30 subject=C = US, ST = California, L = Mountain View, O = Android, OU = Android, CN = Android, emailAddress = android@android.com issuer=C = US, ST = California, L = Mountain View, O = Android, OU = Android, CN = Android, emailAddress = android@android.com-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
  • 復制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建個文件) cert.x509.pem
  • dos命令不好實現,建議采用bash

    grep -zoe '-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----' tmp.rsa.pem>cert.x509.pem
  • 復制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(同上) private.rsa.pem
  • dos命令不好實現,建議采用bash

    grep -zoe '-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----' tmp.rsa.pem>private.rsa.pem
  • 生成pk8格式的私鑰
  • openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out private.pk8 -nocrypt
    • 至此已經生成pem pk8 格式的兩個簽名文件

    參考
    Android簽名證書 keystore jks pem x509
    pk8/x509.pem轉換為keystore

    總結

    以上是生活随笔為你收集整理的【Android】Android签名:pem和pk8转化为keystore,jks的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久草综合网 | 原来神马电影免费高清完整版动漫 | 97超碰精品 | 亚洲精品在线观看免费 | 在线精品视频一区 | 性欧美熟妇videofreesex | 午夜中出 | 日韩视频一区在线观看 | 在线播放你懂的 | 古装三级吃奶做爰 | 黄色三级av | 日本三级中文字幕在线观看 | 成人小视频在线观看 | 黄色777 | 国产人妻黑人一区二区三区 | 中字幕一区二区三区乱码 | 日韩人妻一区二区三区蜜桃视频 | 欧美又粗又深又猛又爽啪啪九色 | 婷婷久久久久 | 第四色成人网 | 久久国产日韩 | a极毛片| 在线一区观看 | 国产喷白浆一区二区三区 | 国产一区综合 | 丁香六月激情综合 | 日韩伊人久久 | 全程粗话对白视频videos | 午夜欧美精品久久久久久久 | av免费精品 | 亚洲av中文无码乱人伦在线视色 | 久久久久亚洲av无码专区首jn | 伊人一级片 | 成人影视免费 | 精品视频入口 | 精品成人av一区二区三区 | 精品人妻一区二区三区日产乱码 | 无码一区二区三区免费视频 | 耳光调教vk | 女同久久另类69精品国产 | 午夜免费视频观看 | 亚洲专区视频 | 91亚洲国产成人精品一区二三 | 国产一区二区三区日韩 | 亚洲狼人干 | 污污污污污污www网站免费 | 最新av在线播放 | 制服.丝袜.亚洲.中文.综合懂色 | 亚洲欧美国产另类 | 欧美黑人欧美精品刺激 | 一区二区三区国产视频 | 欧美大片在线播放 | 免费看黄色三级三级 | 久色91| 操极品 | 欧美在线一区二区视频 | 蝌蚪自拍网站 | 婷婷久久五月天 | 国产91免费看 | 亚洲一级特黄毛片 | 一级成人av | 黄色免费成人 | 免费看美女被靠到爽的视频 | 五月天综合婷婷 | 国产精品4p | 精品久久久久中文慕人妻 | 在线观看涩涩视频 | 国语对白做受按摩的注意事项 | 夜夜欢天天干 | 国产女人高潮视频 | 夜夜爽夜夜 | 欧美乱日| 免费看黄色一级视频 | 亚洲精品一区在线观看 | 中文字幕乱码人妻一区二区三区 | 亚洲色图丝袜美腿 | 日本高清xxxx | 亚洲男人在线 | www黄色网| 亚洲av无码乱码在线观看性色 | 色女人网| 亚洲一区二区三区色 | 狠狠五月天 | 91精品人妻一区二区三区果冻 | 官场艳妇疯狂性关系 | 亚洲欧美日韩另类在线 | 精品国产乱码久久久久久蜜臀 | 日韩三级视频 | 国产又爽又黄免费软件 | a国产 | 日本狠狠爱 | 乱淫的女高中暑假调教h | 狠操av| 亚洲免费网站在线观看 | 五月天国产视频 | 男人的天堂av网站 | 艳妇乳肉豪妇荡乳 | 日本极品少妇 | 欧美日本一区 |