本文内容只是一个简单的笔记,内容主要来自于 man keytool 命令

Android 开发中,需要对应用进行签名,一般签名信息存储在一个 keystore 文件中,这个文件可以用 keytool 进行读写。以下介绍 keystore 的常见用法。
keytool 用于管理 keystore 文件,keystore 文件可以理解为是一个加密的用于存储证书的数据库,里面用于存储各类证书,每个证书由 alias 区分,并且有自己单独的密码。

  • keystore 生成
  • keystore 查看
  • keystore 密码修改
  • alias 修改
  • keystore 格式转换
  • alias 密码修改
  • key 归集
  • 删除 key
  • CA 认证
  • CA 生成证书
  • 查看 cer
  • cer 存入 keystore

使用 keytool 命令过程中,有一些可选参数,参数默认值如下:

参数 默认值 描述
-keystore ${USER_HOME}/.keystore keystore 文件路径
-storepass - keystore 文件密码,默认从终端读取
-keypass - alias 密码
-validity 90 证书有效期,天

key 生成

# 生成名为 tmp.keystore 的 keystore 文件
keytool -genkeypair -keystore tmp.keystore -alias tmp \
-dname "CN=tmp.com,O=tmp" -keyalg RSA \
-keysize 2048 -storepass changeme -keypass changeme

key 查看

# 查看 tmp.keystore 中所有证书
keytool -list -keystore tmp.keystore -v
# 查看 tmp.keystore 中别名为 tmp 的证书
keytool -list -keystore tmp.keystore -v -alias tmp
# 查看 tmp.keystore 中别名为 tmp 的证书,密码为 changeme
keytool -list -keystore tmp.keystore -v -alias tmp -storepass changeme

keystore 密码修改

# 修改密码,需要在终端输入一次旧密码,两次新密码
keytool -storepasswd -keystore tmp.keystore
# 修改密码,changme -> changeme1
keytool -storepasswd -new changemex -keystore tmp.keystore -storepass changeme

alias 修改

keytool -changealias -keystore tmp.keystore -alias tmp -destalias tmp2 -storepass changemex

keystore 格式转换

# 将 tmp.keystore 的证书导入到新的类型为 jks 的 new.keystore 中
keytool -importkeystore -srckeystore tmp.keystore -destkeystore new.keystore -deststoretype jks

alias 密码修改

# 不支持 PKCS12 类型的修改,如果需要修改 PKCS12 类型,请参考前面的导入部分修改 keystore 类型
keytool -keypasswd -keystore new.keystore -alias tmp2 -storepass changemex -keypass changeme -new newkeypw

key 归集

# 将 tmp.keystore 中的 tmp2 导入到 new.keystore 中
keytool -importkeystore \
-srckeystore tmp.keystore -srcstoretype PKCS12 -srcstorepass changemex \
-keystore new.keystore -storepass changeme -deststoretype JKS \-srcalias tmp2 -destalias key1

删除 key

# 删除 tmp.keystore 中名为 tmp2 的证书
keytool -delete -alias tmp2 -keystore tmp.keystore

申请 CA 认证

keytool -certreq -alias key1 -keystore new.keystore -storepass changeme | tee key.certreq

CA 生成证书

# cer
keytool -gencert -keystore new.keystore -alias key1 -infile key.certreq -outfile key.cer -validity 3650 -storepass changeme
# pem
keytool -gencert -keystore new.keystore -alias key1 -infile key.certreq -outfile key.pem -rfc -validity 3650 -storepass changeme

查看 cer

keytool -printcert -v -file key.cer

cer 加入 keystore

keytool -importcert -alias key_cer -file key.cer

keytool 使用说明相关推荐

  1. 数字证书中keytool命令使用说明

    这个命令一般在JDK\jre\lib\security\目录下操作 keytool常用命令 -alias       产生别名 -keystore    指定密钥库的名称(就像数据库一样的证书库,可以 ...

  2. Java Security:keytool工具使用说明

    Keytool用法说明 Keytool是一个key与cert的管理工具.使用keytool可以管理public key.private key,以及与key之相关的certificate. 1.com ...

  3. JDK自带工具keytool生成ssl证书(web服务https配置)

    原文:https://www.cnblogs.com/zhangzb/p/5200418.html 前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl ...

  4. 证书及证书管理(keytool工具实例)

    一: 什么是证书?为什么要使用证书? 对数据进行签名(加密)是我们在网络中最常见的安全操作.签名有双重作用,作用一就是保证数据的完整性,证明数据并非伪造,而且在传输的过程中没有被篡改,作用二就是防止数 ...

  5. JDK自带工具keytool生成ssl证书

    前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全. 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具: ...

  6. abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...

    高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF 高性能计算平台ABAQUS 任务调度使用说明 作者:陈林 E-Mail:chenlin@ 日期:2017-1-10 ...

  7. linux 文件拷贝并替换,Linux_cmd replace 文件替换使用说明,帮助信息: 复制代码 代码如 - phpStudy...

    cmd replace 文件替换使用说明 帮助信息: 复制代码 代码如下: 替换文件. REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [ ...

  8. Simple Dynamic Strings(SDS)源码解析和使用说明二

    在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...

  9. Delphi开发的IOCP测试Demo以及使用说明。

    Delphi开发的IOCP,此为压力测试Demo和使用说明.

最新文章

  1. python潜力开源项目_比较了1000多个Python开源项目,精选出这34个
  2. python是什么语言开发的-少儿编程有什么好处?儿童编程课程学习Python的4大原因...
  3. Windows Mysql添加用户
  4. 80%开发者都不知道的以太坊骚操作:「事件」和「日志」还可以这么玩!
  5. js var是什么类型_JS变量的执行环境和生命周期
  6. Docker Redis部署_04
  7. 基于React的全屏滑动插件react-fullslip
  8. 江苏小高考计算机操作题软件,江苏小高考现神题:求微信启动画面的拍摄时间...
  9. 【Elasticsearch】es IK分词器的安装
  10. Excel2010学习笔记(二):公式函数篇
  11. Forge Viewer 的协作审查如何使用
  12. c语言教程免费ppt,《C语言教程》PPT课件.ppt
  13. 计算机mac地址设置路由器,路由器mac地址怎么设置
  14. 懒惰还是懦弱?你真的不行吗?
  15. 2022年江苏省高职单招(数学)考试冲刺试题及答案
  16. 5.4 塑造IT人的专业核心能力——《逆袭大学》连载
  17. 苹果的新手机都是5G,华为的新手机只有4G,大家怎么看待这个现象?
  18. ff14怎么显示服务器时间,《FF14》8月20日维护到几点 最终幻想14服务器迁移维护公告...
  19. C# 判断两张图片是否一致,极快速。
  20. 计算机研究生论文写作技巧

热门文章

  1. 多肽914910-73-9:血管紧张素Angiotensin(1-12)(mouse, rat)
  2. 微信小程序动画循环执行
  3. 水饺,值得长期吃下去
  4. python基础语法(缩进规则)
  5. 栈和队列:停车场管理
  6. Java 中的栈和队列
  7. 如何在word中批量修改图片大小
  8. .linux重命名文件命令,Linux rename命令文件重命名的用法汇总
  9. 最全redis缓存核心知点(原理+图解)
  10. springsession原理及redis缓存处理