前言
其实在windows下也可以不转换,在选择签名文件的文件选择框时,把文件扩展名筛选项,从(.keystore)修改为(all,.*),再选中jks格式文件,unity也是可以正确识别和正确打包的。(在mac下我没有找到类似的方法,如果有谁知道,请留言告诉我下,不胜感激。)
如果确实想使用keystore格式文件,就请继续往下看:
思路
通过中间文件.p12,jks文件和keystore文件可以互相转换
路径准备
/Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.keystore
从jks到p12
导入格式
keytool -importkeystore -srckeystore 后缀为jks文件的路径 -deststoretype PKCS12 -destkeystore p12的存放路径
导入用例1
$ keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore zdz.p12
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks 导入到 zdz.p12... 输入目标密钥库口令: 再次输入新口令: 输入源密钥库口令: 输入 <key0> 的密钥口令 keytool 错误: java.lang.Exception: 目标 pkcs12 密钥库具有不同的 storepass 和 keypass。请在指定了 -destkeypass 时重试。
这里需要注意的是:输入的目标密钥库口令需要和源密钥库口令一致,否则会报错:
keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect
导入用例2
唯一的变化是指定了-destkeypass选项,指定密码为1q2w3e
$ keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore zdz.p12 -destkeypass 1q2w3e
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks 导入到 zdz.p12... 输入目标密钥库口令: 再次输入新口令: 警告: PKCS12 密钥库不支持其他存储和密钥口令。正在忽略用户指定的-destkeypass值。 输入源密钥库口令: 输入 <key0> 的密钥口令 已成功导入别名 key0 的条目。 已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
从p12到keystore
格式
keytool -v -importkeystore -srckeystore p12的路径 -srcstoretype PKCS12 -destkeystore keystore存放路径 -deststoretype JKS
导出用例
$ keytool -v -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 -srcstoretype PKCS12 -destkeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.keystore -deststoretype JKS
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 导入到 /Users/kktoo/Build_Project_zdz/zdz.keystore... 输入目标密钥库口令: 再次输入新口令: 输入源密钥库口令: 已成功导入别名 key0 的条目。 已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消 [正在存储/Users/kktoo/Build_Project_zdz/zdz.keystore] Warning: JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/zdz.keystore -destkeystore /Users/kktoo/Build_Project_zdz/zdz.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
如果没有修改格式,可以忽略这个警告信息。
继续阅读
评论