# 创建Android证书
# 使用AndroidStudio
Android Studio 运行或测试我们的App时,它使用一个默认的debug.keystore进行签名,这个默认签名是不需要密码的,它的默认位置在 $HOME/.android/debug.keystore
,如果不存在Android studio会自动创建它,但我们正式发布项目的时候是不能使用debug.keystore的。
下面介绍如何使用 Android Studio 生成自己的 keystore。
Build >> Generate Signed APK
Create New
填写相关信息
使用我们创建的keystore
选择发布app的路径默认即可,选择release方式发布
# 使用Mac命令行
与Windows环境下创建Android证书方法一致,Mac环境下Android证书也要基于keytool
工具创建。
# Java环境
首先需要下载并安装Java (opens new window),如果已安装Java可跳过本小节。Java官网提供的是dmg安装文件,按照指引流程完成Java安装即可。
安装完成后可在终端中输入keytool
命令,如果出现如下信息则表明安装成功:
17:55:04 with gmu in ~
➜ keytool
密钥和证书管理工具
命令:
-certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypair 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importpass 导入口令
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印 CRL 文件的内容
-storepasswd 更改密钥库的存储口令
使用 "keytool -command_name -help" 获取 command_name 的用法
# 创建证书
证书可通过如下命令创建:
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
- alias: 证书别名
- validity: 证书有效时长(以天为单位)
- keystore: 证书文件名称
证书创建流程中需要提供密钥/密钥库口令以及一些其他附加信息:
17:55:09 with gmu in ~
➜ keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: GMU
您的组织单位名称是什么?
[Unknown]: RDC
您的组织名称是什么?
[Unknown]: Hundsun
您所在的城市或区域名称是什么?
[Unknown]: Hangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: Zhejiang
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=GMU, OU=RDC, O=Hundsun, L=Hangzhou, ST=Zhejiang, C=CN是否正确?
[否]: y
输入 <android.keystore> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore android.keystore -destkeystore android.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
完成以上信息录入后可以在当前目录下看到证书android.keystore:
17:56:09 with gmu in ~
➜ ls
android.keystore
# 证书查看
证书信息可以通过如下命令查看:
18:01:15 with gmu in ~
➜ keytool -list -keystore "android.keystore"
输入密钥库口令:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
android.keystore, 2021-9-8, PrivateKeyEntry,
证书指纹 (SHA-256): E8:1F:66:3B:EE:FE:86:36:66:F7:A4:3E:66:2D:19:82:5B:FE:A0:6E:66:66:75:05:74:8C:52:85:66:CC:28:1C
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore android.keystore -destkeystore android.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
# 使用Windows命令行
dos下进入JDK的bin目录
运行如下命令:
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
根据提示完成密钥创建。
命令中alias
后面的是keystore别名(与信息填写最后一项的密钥口令对应),validity
后面的是keystore的有效时长(以天为单位)。-keystore
后面的是keystore文件的名称。
命令完成后,bin目录中会生成android.keystore。
查看命令keytool -list -keystore “android.keystore”
,输入你设置的keystore密码。