Android Studio 生成签名文件以及JKS

重点概要:
1:Android Studio 生成 jks签名文件
2:签名文件行业标准格式PKCS12兼容
3:生成SHA1,MD5

1:cd 到Android Studio 的 jre 文件夹中的bin目录下(在此目录下才能调用keyTool,xx盘)
注意: cd \ 返回根目录 d: 切换盘符 cd… 倒退文件夹 cd 打开文件夹

5317456-e2d68b178d397ea1.png
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>

3:JKS 迁移到行业标准格式 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>
3: 生成SHA1 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
双击: signingReport

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

微信图片_20210422155245.png

### 创建非 JKS 格式的签名文件 对于希望在 Android Studio 中创建非 JKS 格式的签名文件的需求,可以考虑使用PKCS12格式作为替代方案。PKCS12是一种被广泛支持的标准格式,在现代版本的Java环境中推荐使用。 #### 使用 Keytool 工具生成 PKCS12 文件 通过命令行工具`keytool`来创建一个新的密钥库并指定其类型为PKCS12: ```bash keytool -alias myapp \ -keyalg RSA -keysize 2048 -validity 10000 \ -keystore myapp.p12 -storetype PKCS12 \ -dname "CN=My App, OU=OrgUnit, O=Organization, L=City, ST=State, C=Country" ``` 此命令将会引导用户设置各种参数,包括但不限于: - 密码(`-storepass`) - 组织单位(`OU`)、组织名称(`O`)等DN(Distinguished Name)字段的信息 完成上述操作之后,便得到了名为`myapp.p12`的签名文件[^1]。 #### 配置 Gradle 构建脚本以识别新格式 为了使构建过程能够利用这个新的`.p12`文件来进行应用包的签署工作,则需编辑项目的`build.gradle`文件中的signingConfigs部分如下所示: ```groovy android { ... signingConfigs { release { storeFile file('path/to/myapp.p12') storeType 'pkcs12' keyAlias 'myapp' storePassword 'your_store_password_here' // 替换成实际使用的密码 keyPassword 'your_key_password_here' // 如果有单独的关键字密码则填写这里 } } buildTypes { release { ... signingConfig signingConfigs.release } } } ``` 以上配置确保了当执行release模式下的编译任务时,Gradle会自动采用所定义好的PKCS12类型的证书进行应用程序的签署处理[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袭烽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值