基于linux下signapk导入keystore对apk进行签名

  • 基于linux下signapk导入keystore对apk进行签名已关闭评论
  • 44 views
  • A+
所属分类:编程开发

最近接到一个基于服务器端的在线签名apk业务,先把整个主要流程跟遇到的问题跟大家分享一下

生成platform.priv.pem文件

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt

生成pkcs12格式的秘钥文件

openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name android

注:1:android是keystore的alias,后面也需要用到,必须保持一致,不然到时会报:

jarsigner: 找不到 qulordy 的证书链。qulordy 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

2:再一个就是需要输入两次密码,我们这里默认为android

生成platform.jks

keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias android

使用jarsigner签名

jarsigner -verbose -keystore qiku_platform.jks -signedjar mssp-verify-signed.apk mssp-verify.apk android

注:会出现如下警告

警告: 
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2043-06-14) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。

要想去掉这个警告只要在命令上再加上 -tsa https://timestamp.geotrust.com/tsa 就可以

最终命令如下:

jarsigner -verbose -keystore qiku_platform.jks -tsa https://timestamp.geotrust.com/tsa -signedjar mssp-verify-signed.apk mssp-verify.apk android

 

 

 

 

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar