• APK签名制作以及签名中的SHA信息获取


    一 制作.jks或者.keystore签名

    方便一点的操作就是在AndroidStudio里面通过图形界面来制作了,这里使用命令行来制作。

    keytool.exe -genkey -alias <key0> -keyalg RSA -validity 10000 -keystore <keyname.keystore>

    上面的keytool在安装了JDK之后就有了,跟java/javac在同一个目录下。

    上面的一行代码表示制作一个使用RSA算法、别名为“key0”、有效期为10000天、输出名字为“keyname.keystore”的密钥,然后根据提示输入信息就行了。

    制作后有警告,可以按照警告重新制作。

     

    二 制作.pk8/.x509.pem文件的操作

    make_key platfrom '/C=CN/ST=GuangDong/L=ShenZhen/O=Hello/OU=Hello/CN=name/emailAddress=hello@world.com'

    上面制作的密钥用于编译android系统ROM,需要在ROM开发环境下进行,输入命令后按照提示操作就行。

    那个“make_key”是一个shell脚本,位于源码的“development/tools”路径下。

    三 使用.jks/.keystore给应用签名

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keyname.jks -storepass 12345678 Hello.apk key0

    上面表示使用“keyname.jks”密钥文件对“Hello.apk”进行签名,密钥的存储密码为“12345678”,密钥的别名为“key0”。

    上面的“jarsigner”安装JDK之后就有了,跟java/javac同一个目录。

    四 使用.pk8/.x509.pem给应用签名

    java -jar SignApk.jar platform.x509.pem platform.pk8 in.apk out.apk

    上面的操作是使用平台密钥给应用签名,平台的源码编译出ROM时会生成一个“SignApk.jar”,在“outhostlinux-x86frameworksignapk.jar”。

    这样签名之后的应用就具备平台签名了。

     

    五 查看APK包中的签名SHA信息

    把APK包里面的META-INFxxx.RSA文件弄出来,然后执行“keytool -printcert -file /path/of/xxx.RSA”即可。

    怎么打开APK包?直接压缩软件解压,或者修改后缀名为“zip”之后解压。

     

    六 查看.jks/.keystore中的SHA信息

    keytool -list -v -keystore key.jks

    七 查看.pk8/.x509.pem中的SHA信息

    openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
    openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem
    keytool -importkeystore -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12
    keytool -list -v -keystore platform.jks

    我没找到更好的方法,只是之后进行的查看,不太便捷。

    如果转载,请注明出处。https://www.cnblogs.com/ssdq/
  • 相关阅读:
    spring security 学习资料
    设计模式,学习资料
    知名博主
    shiro 学习资料
    nuxt 中使用 koa-session
    koa-session 知识点
    MySQL 中的默认数据库介绍
    JUnit 学习资料
    027_git添加多账号设置
    023_supervisorctl管理服务注意事项
  • 原文地址:https://www.cnblogs.com/ssdq/p/12323120.html
Copyright © 2020-2023  润新知