Android开发中,密钥库的生成目前有两种方式:

方式一

1.配置好JDK环境,jdk环境配置请自行百度;

2.使用如下命令生成,回车后输入用户组织等相应信息即可:

keytool -genkey -alias xxxAlias -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\Android\JKS\xxxJks.jks -storepass 123456

注:xxxAlias为密钥库Key alias的名称,D:\Android\JKS\xxxJks.jks为生成的密钥库地址及名称;123456为Key store及Key alias的密码,切记两个密码一定要相同,原因详见下文。

方式二

1.由AndroidStudio开发工具构建APK时设置生成,根据以下步骤:

jks 秘钥android studio 查看 jks秘钥库专用格式_java

jks 秘钥android studio 查看 jks秘钥库专用格式_Android_02

2.点击Create new key store按钮,下一步:

jks 秘钥android studio 查看 jks秘钥库专用格式_错误提示_03

3.创建密钥库,1和2处的密码可以设置不同,也可以生成密钥库;但这里强调两个密码一定要设置相同,原因详见下文,填写完成点击ok;

jks 秘钥android studio 查看 jks秘钥库专用格式_android studio_04

以上无论是方式一还是方式二,在生成密钥库后均有可能出现以下错误提示,版本高的JDK可能不会:

jks 秘钥android studio 查看 jks秘钥库专用格式_android_05

1.到这里,若以上方式一或方式二生成的密钥库,在设置两个密码时如果设置的相同,则直接填写以上建议的命令即可:

keytool -importkeystore -srckeystore D:\Android\JKS\NationalBodyJKS.jks -destkeystore D:\Android\JKS\NationalBodyJKS.jks -deststoretype pkcs12

2.若以上方式一或方式二生成的密钥库,设置的两个密码不相同,则在输入1建议使用的命令时会出现以下错误提示:

jks 秘钥android studio 查看 jks秘钥库专用格式_android studio_06

3.以上2提示的错误,直接翻译大家也可以看的明白,意思就是设置的Key store密码与Key alias密码不相同,上文多次强调的两个密码要设置相同的原因就在于此。

总结

1.生成密钥库时,Key store密码与Key alias密码要设置相同;

2.密钥库生成后,使用警告的命令将密钥库的格式由jks迁移为pkcs12;迁移成功后会备份旧的文件,以.old结尾,基本使用不到了,可直接删除;

keytool -importkeystore -srckeystore D:\Android\JKS\NationalBodyJKS.jks -destkeystore D:\Android\JKS\NationalBodyJKS.jks -deststoretype pkcs12

3.密钥库的文件地址请自行设置,上文中的库地址均为演示使用;

4.以上就是我在生成密钥库时遇到的问题,希望可以帮到同样遇到此问题的同学,你我共勉!