系统签名文件pk8x509.pem 转成jks或者keystore签名文件
做系統應用開發的時候,往往將應用的sharedUserId 聲明成android.uid.system 來將其作為系統應用。這時侯就需要系統簽名文件給應用簽名,才能安裝到設備上。
將應用簽名改成系統簽名的方式有兩種:
- 1. 使用signapk.jar修改應用應用簽名問系統簽名
- 2. 將plateform.pk8和plateform.x509.pem 文件裝成AS 直接使用的jks簽名文件
plateform.pk8與plateform.x509.pem轉成jks 文件
將plateform.pk8 與plateform.x509.pem 轉成jks 文件需要openssl 工具。openssl Window 版本可以在http://slproweb.com/products/Win32OpenSSL.html下載
轉換步驟:
- 1、openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt? ?將pk8 轉成pem 格式文件
- 2、openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name {{KEY_ALIAS}}??生成pk12 文件
- 3、keytool -importkeystore -destkeystore {{STORE_FILE_NAME}}.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass {{KEY_PASSWORD}} -alias {{KEY_ALIAS}}? 使用pk12文件輸出jks 簽名文件
示例:
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name android?
執行生成pk12 文件時,需要設置alias 別名為android 密碼
keytool -importkeystore -destkeystore test.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 111111 -alias android
這一步先需要在生成pk12 文件時設置的別名密碼。
生成jks 文件時會檢測文件是否存在:
- ? ? ? ?如果設置的jks文件存在,會檢測輸入的密碼是否正確
- ? ? ? ?如果jks 文件不存在,生成jks 文件
keytool -list -v -keystore test.jks 查看簽名文件指紋信息
參考:?https://stackoverflow.com/questions/39657812/how-to-import-x509-pem-pk8-file-into-jks-keystore
?
番外:使用signapk.jar 修改應用簽名系統簽名
準備工作
上面的準備工作準備完成后執行?
java -jar signapk.jar platform.x509.pem platform.pk8 {{input.apk}} {{output.apk}}
input.apk 需要被簽名的apk文件
output.apk 已經簽名成系統簽名的apk
?
總結
以上是生活随笔為你收集整理的系统签名文件pk8x509.pem 转成jks或者keystore签名文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “约见”面试官系列之常见面试题第七篇说说
- 下一篇: 漫谈iOS程序的证书和签名机制