美文网首页安卓Android基础开发程序员Android
安卓签名证书格式更改:jks转keystore

安卓签名证书格式更改:jks转keystore

作者: b923228cc7b5 | 来源:发表于2018-05-02 17:47 被阅读33次

    项目中的签名是jks格式,可是由于某个坑货渠道后台只能上传keystore格式的签名文件,所以要在不能更改签名的前提下将jks格式转换为keystore格式。

    假设我们最初的签名文件是original.jks,我们需要更改为original.keystore。首先我们需要一个模板签名文件,然后先将jks转为p12,再将p12导入到这个模板文件中即可。详细过程如下:

    1. 创建模板签名

    可以通过AS或者terminal来创建。下面是命令创建template.keystore

    keytool -genkey -v -keystore template.keystore -alias myAlias -keyalg RSA -validity 10000 -keystore /Users/logan/template.keystore
    

    为了便于对比更改前后的签名文件信息,我们先查看原始签名的证书指纹(MD5,SHA1,SHA256)

    keytool -v -list -keystore /Users/logan/Documents/certificate/original.keystore
    

    2. jks转pkcs12

    keytool -importkeystore -srckeystore /Users/logan/Documents/certificate/mygamez_fingersoft_hcr2_china_unicom.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore client.p12
    

    3. pkcs12转keystore

    pkcs12是不能直接转keystore的,网上很多说法都是错误的,我们需要将pkcs12导入到一个现有的keystore当中,

    keytool -v -importkeystore -srckeystore /Users/logan/client.p12 -srcstoretype PKCS12 -destkeystore template.keystore -deststoretype JKS
    

    这个命令会直接在现有的template.keystore上更改并自动覆盖掉原来的问题件,所以新生成的签名文件仍然叫template.keystore。
    现在template.keystore的签名应该与original.jks的签名信息是一样的了。
    可以通过以下命令来验证

    keytool -v -list -keystore /Users/logan/Documents/certificate/template.keystore
    

    Done!

    相关文章

      网友评论

        本文标题:安卓签名证书格式更改:jks转keystore

        本文链接:https://www.haomeiwen.com/subject/gtwcrftx.html