Android Studio 生成签名文件以及JKS 密钥库专用格式 PKCS12 适配

重点概要:

Android Studio 更新后 签名需要迁移到PKCS 12格式 特此记录下迁移以及打包签名和获取Sha1 MD5等数据的方式

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12


一,生成 PKCS 12 标准格式的签名文件

 1:cd 到Android Studio 的 jre 文件夹中的bin目录下(在此目录下才能调用keyTool,xx盘)

 语法:

 cd \ 返回根目录
 d: 切换盘符
 cd.. 倒退文件夹 
 cd 打开文件夹

        

2:生成jks签名文件

语法:

 keytool -genkey -v -keystore demo.jks -alias demo  -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000

    备注:
    -keystore:设置生成的文件名称,包含后缀;
    -alias:设置别名
    -storepass:设置文件的密码
    -keypass:设置key的密码
    -keyalg:设置使用的加密算法,一般写RSA
    -validity:设置有效期,尽可能长啦

后续

D:\develop\Android Studio\jre\bin>keytool -genkey -v -keystore demo.jks -alias demo  -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000
您的名字与姓氏是什么?
  [Unknown]:  wu
您的组织单位名称是什么?
  [Unknown]:  xxx公司
您的组织名称是什么?
  [Unknown]:  xxx组织
您所在的城市或区域名称是什么?
  [Unknown]:  北京
您所在的省/市/自治区名称是什么?
  [Unknown]:  京
该单位的双字母国家/地区代码是什么?
  [Unknown]:  86
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86是否正确?
  [否]:  是

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 14,000 天):
         CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86
[正在存储demo.jks]

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

D:\develop\Android Studio\jre\bin>

二,迁移到行业标准格式 PKCS12

语法:Android Studio会提示出来迁移的方法直接复制运行就可以了

keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12

效果

D:\develop\Android Studio\jre\bin>keytool -genkey -v -keystore demo.jks -alias demo  -storepass 123456 -keypass 123456 -keyalg RSA -validity 14000
您的名字与姓氏是什么?
  [Unknown]:  wu
您的组织单位名称是什么?
  [Unknown]:  xxx公司
您的组织名称是什么?
  [Unknown]:  xxx组织
您所在的城市或区域名称是什么?
  [Unknown]:  北京
您所在的省/市/自治区名称是什么?
  [Unknown]:  京
该单位的双字母国家/地区代码是什么?
  [Unknown]:  86
CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86是否正确?
  [否]:  是

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 14,000 天):
         CN=wu, OU=xxx公司, O=xxx组织, L=北京, ST=京, C=86
[正在存储demo.jks]

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

D:\develop\Android Studio\jre\bin>keytool -importkeystore -srckeystore demo.jks -destkeystore demo.jks -deststoretype pkcs12
输入源密钥库口令:
已成功导入别名 demo 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

Warning:
已将 "demo.jks" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "demo.jks.old" 进行了备份。

D:\develop\Android Studio\jre\bin>

三,生成SHA1 SHA256 MD5 

1:第一步配置将jks配置到项目的app的build.gradle

注意:jks文件也要放在app目录下或者动态替换storeFile的文件路径


signingConfigs {
      debug {
          keyAlias 'dh'              //别名
          keyPassword '123456'        //key密码
          storePassword '123456'    // store的密码,注意是否与key的密码相同
          storeFile file('dh.keystore')//key的路径,注意不能与release版本相同   
   }
      release {
          keyAlias 'dh'
          keyPassword '123456'
          storePassword '123456'
          storeFile file('dh.keystore')
      }
  }
  buildTypes {
      release {
          zipAlignEnabled true                    //Zipalign优化
          signingConfig signingConfigs.release    //签名
      }
      debug {
          signingConfig signingConfigs.debug
          zipAlignEnabled true                    //Zipalign优化
      }
  }

2:生成SHA1,以及MD5

步骤:


Android studio -->右边框 -->Gradle --> 项目 --> Task -->  signingReport(双击)

效果


总结

PKCS12是新版本studio 打包推荐的签名格式,以及获取MD5 SHA1 等操作是常见操作所以特此记录.希望能帮助到你,来都来了点个赞再走吧.

猜你喜欢

转载自blog.csdn.net/wu296606241/article/details/121284330