生成Android签名证书
uni-app 2019-12-01 10:02:25

uniapp HBuilder云打包:证书文件不是有效地keystore文件

使用官网提供的命令生成证书

C/C++ Code复制内容到剪贴板
  1. keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore  

 

在云打包时提示证书文件不是有效地keystore文件

第一步:生成正常证书

C/C++ Code复制内容到剪贴板
  1. keytool -genkey -alias testalias -keyalg RSA -sigalg SHA1WithRSA -validity 36500 -keysize 1024 -keystore test.keystore -v  

 

注意:两个关键点

C/C++ Code复制内容到剪贴板
  1. -sigalg SHA1WithRSA  
  2. -keysize 1024  

 

第二步:更改秘钥库类型

C/C++ Code复制内容到剪贴板
  1. keytool -importkeystore -srckeystore ./test.keystore -destkeystore ./test.keystore -deststoretype JKS  

 

到这里,就可以使用新生成的证书进行云打包了

导致这个问题的原因

可以下载HBuilder官方的证书,使用keytool查看

发现

签名算法名称: SHA1withRSA

主体公共密钥算法:1024 位 RSA 密钥

密钥库类型:JKS
 

 

 


 

 

本机生成证书:

生成签名证书

使用keytool -genkey命令生成证书:

C/C++ Code复制内容到剪贴板
  1. keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore  

 

testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字

test.keystore是证书文件名称,可修改为自己想设置的文件名称

 

C/C++ Code复制内容到剪贴板
  1. keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12  

 

 

查看证书:

 

keytool -list -v -keystore test.keystore 

输入密钥库口令:  

 

 

 


 

 

  Android证书 git:(master) keytool -genkey -alias test -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore 

输入密钥库口令:  

再次输入新口令: 

您的名字与姓氏是什么?

  [Unknown]:  test

您的组织单位名称是什么?

  [Unknown]:  test

您的组织名称是什么?

  [Unknown]:  test

您所在的城市或区域名称是什么?

  [Unknown]:  test

您所在的省/市/自治区名称是什么?

  [Unknown]:  test

该单位的双字母国家/地区代码是什么?

  [Unknown]:  test

CN=test, OU=test, O=test, L=test, ST=test, C=test是否正确?

  [否]:  Y

 

输入 <test> 的密钥口令

(如果和密钥库口令相同, 按回车):  

再次输入新口令: 

 

Warning:

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

  Android证书 git:(master) ll

total 8

-rw-r--r--  1 yoyo  staff   2.2K 12  1 10:09 test.keystore

  Android证书 git:(master) keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12

输入源密钥库口令:  

已成功导入别名 test 的条目。

已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

 

Warning:

已将 "test.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "test.keystore.old" 进行了备份。

  Android证书 git:(master) keytool -list -v -keystore test.keystore

输入密钥库口令:  

密钥库类型: PKCS12

密钥库提供方: SUN

 

您的密钥库包含 1 个条目

 

别名: test

创建日期: 2019-12-1

条目类型: PrivateKeyEntry

证书链长度: 1

证书[1]:

所有者: CN=test, OU=test, O=test, L=test, ST=test, C=test

发布者: CN=test, OU=test, O=test, L=test, ST=test, C=test

序列号: 51ca7b50

有效期为 Sun Dec 01 10:09:11 CST 2019 至 Tue Nov 07 10:09:11 CST 2119

证书指纹:

MD5:  86:87:9E:8D:F3:E5:1D:92:02:4A:B1:60:1C:59:4D:1C

SHA1: E0:FB:FB:1F:00:14:AC:7F:EE:24:7E:8A:3F:26:D4:8A:EA:7C:AC:7E

SHA256: 86:D0:DD:D5:94:76:4E:50:94:8B:3D:9C:5F:C2:B7:05:B5:F4:D9:4F:5B:C3:54:9C:04:50:06:10:27:23:97:00

签名算法名称: SHA256withRSA

主体公共密钥算法: 2048 位 RSA 密钥

版本: 3

 

扩展: 

 

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: 9B FD 1E E8 E0 1E EA 38   A3 2C 30 99 8B E2 96 A9  .......8.,0.....

0010: 20 7C EC 90                                         ...

]

]

 

 

 

*******************************************

*******************************************

 

 

 

 

 

 

 

 

 

 

 

本文来自于:http://www.yoyo88.cn/study/uniapp/478.html

Powered by yoyo苏ICP备15045725号