如何将keystory转化成pem与pk8供APK签名

谷歌上架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文件完毕


获得自己需要的证书文件后可以自行将刚才步骤中产生的文件删除。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论