谷歌上架APP发现不仅要求安卓APP需要符合安卓26包,审核后谷歌还会对APP包进行二次签名,如果没提交自己的pem签名证书会导致APP签名错误而无法打开。
发现所导出的APP签名都是keystory,那么如何转换成pem格式呢?(网上看了挺多的,走了蛮多误区的,最后终于通过整合几篇文章的经验成功实现了转换)
环境:windows10
keystory包名: debug.keystory (这个可根据自己需求更改,如果图方便也可将自己的签名文件改名成 debug 后面代码全部沿用这个名字实现)
需要用到的工具: openssl 下载地址:http://slproweb.com/products/Win32OpenSSL.html (本案例使用v1.0.2版本)
步骤一: 安装openssl,案例默认安装于C盘(可根据自己需求更改代码中的路径)
步骤二:将debug.keystory复制到C:\openssl\bin 文件夹中(方便使用)
步骤三:打开cmd,使用cd命令进入 C:\openssl\bin 目录下
步骤四: 执行命令: keytool -importkeystore -srckeystore debug.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12 会在bin目录中生成一个.p12文件
步骤五:执行命令: openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem 会将.p12文件转换成.pem文件 该文件中已经包含了公钥和私钥
如果有需要可以根据自己需求,单独复制出公钥和私钥并存入对应的.pem格式文件中
(如果有需要生成pk8格式的朋友可以继续往下看:)
步骤五:用文本工具打开tmp.rsa.pem文件,分别把 BEGIN PRIVATE KEY 至 END PRIVATE KEY 复制并存入一个新建的 private.rsa.pem文件、BEGIN CERTIFICATE 至 END CERTIFICATE 复制存入一个新建的cert.x509.pem文件。
步骤六:执行命令:openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out private.pk8 -nocrypt 生成pk8文件完毕
获得自己需要的证书文件后可以自行将刚才步骤中产生的文件删除。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com