这是【Android 教程系列第 27 篇】,如果觉得有用的话,欢迎关注专栏。

文章目录

  • 一:Keytool 是什么?
  • 二:Keytool 需要安装吗?
  • 三:Keytool 密钥的存储形式
  • 四:Keytool 生成 keystore 签名文件

一:Keytool 是什么?

Keytool 是一个密钥和证书管理工具,让用户可以管理自己的公钥、私钥、相关证书,总得来说就是用于认证服务。

二:Keytool 需要安装吗?

Keytool 是一个 Java 自带的数据证书管理工具,因为是自带的,所以我们不需要再另外安装,你电脑上有 JDK 或者 JRE 就可以直接使用 Keytool 了。

比如我本地的 keytool 的位置如下图所示

三:Keytool 密钥的存储形式

Keytool 工具将密钥 Key 和 证书 certificates 存在一个 keystore 文件中,所以 keystore 文件中只包含了两种数据

  • 密钥实体:如果采用非对称加密形式,则包含私钥和配对公钥,反之,则只包括密钥。
  • 可信任的证书实体:也就是只包含公钥。

四:Keytool 生成 keystore 签名文件

使用 Keytool 生成 keystore 签名文件非常简单,只需要终端执行一个命令,然后输入几条信息即可,如下代码所示

keytool -genkey -v -keystore allensu.keystore -alias allensu -storepass 123456 -keypass 123456 -keyalg RSA -validity 36000

下面对每个参数解释说明

  • genkey: 表示生成密钥对,即公钥和私钥。
  • keystore: 设置生成的文件名称,后面跟上 .Keystore 的后缀。
  • alias: 密钥的别名,这个名字是公开的。
  • storepass: 生成 keystore 文件的密码。
  • keypass: 设置 key 的密码。
  • keyalg: 指定密钥的算法,一般会设置为 RSA,默认 DSA。
  • validity: 证书的有效期是多少天。

在终端输入该命令,如下图所示

上述命令的意思是在当前目录下,生成一个名为 allensu.keystore 的文件,其别名为 allensu,keystore 文件的密码是 123456,key 的密码是 123456,算法为 RSA 类型,证书的有效期为 36000 天。

剩下的按照提示输入即可。

当显示正在存储 allensu.keystore 时,在当前目录就可以看到生成的签名文件了,如上图所示

至此,如何使用 Keytool 工具生成 Keystore 签名文件便介绍完毕。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。

【Android 教程系列第 27 篇】如何使用 Keytool 工具生成 keystore 签名文件相关推荐

  1. 【Android 教程系列第 30 篇】为什么要为 App 应用加固 ?如何为 App 应用加固 ?

    这是[Android 教程系列第 30 篇],如果觉得有用的话,欢迎关注专栏. 当我们开发的 App 准备做上架应用市场时,应用市场会要求上架的 App 做加固处理,这是为什么呢 ? 文章目录 一:为 ...

  2. 【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程

    这是[Android 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必 ...

  3. 【Android 教程系列第 14 篇】Android 系统版本和 API 等级对应关系表(持续更新)

    这是[Android 教程系列第 14 篇],如果觉得有用的话,欢迎关注专栏. 很多人记不住 Android 系统版本和 API 等级对应的关系,这里我以 官网文档 和 安卓版本历史(维基百科) 为参 ...

  4. 【Android 教程系列第 31 篇】通过 adb install 命令安装 apk 时提示 signatures do not match previously installed version

    这是[Android 教程系列第 31 篇],如果觉得有用的话,欢迎关注专栏. 遇到的一个小问题,做下记录. 一:问题描述 在使用 adb install 命令安装 apk 时,提示的内容如下 主要提 ...

  5. 【Android 教程系列第 23 篇】 java 方法之间怎么添加分割线

    这是[Android 教程系列第 23 篇],如果觉得有用的话,欢迎关注专栏. 先来看一下添加前和添加后的对比情况,如下两图所示 一:添加前效果 二:添加后效果 可以看到在方法之间添加了分割线后,看起 ...

  6. 【Android 教程系列第 21 篇】如何查看安卓手机上支持哪些硬件和软件

    这是[Android 教程系列第 21 篇],如果觉得有用的话,欢迎关注专栏. 我们做一些功能的时候,需要先知道当前功能是否被硬件所支持,要不然费很大劲做的功能到最后发现因为硬件不支持而功亏一篑,那可 ...

  7. 【Android 教程系列第 13 篇】在小米手机上使用安卓投屏软件 QtScrcpy ,为什么点击屏幕没有反应

    这是[Android 教程系列第 13 篇],如果觉得有用的话,欢迎关注专栏. 一:问题描述 众所周知,QtScrcpy 是一款非常好用的安卓投屏软件. 以前用的测试机是一加的,最近换了小米的,发现开 ...

  8. 【Android 教程系列第 11 篇】安卓手机的制造商有哪些

    这是[Android 教程系列第 11 篇],如果觉得有用的话,欢迎关注专栏. 有时候我们需要获取手机的一些设备信息,比如手机的 品牌(brand) ,如 Xiaomi.Redmi.OPPO.HUAW ...

  9. 【Android 教程系列第 12 篇】常用 App 的 URL Scheme

    这是[Android 教程系列第 12 篇],如果觉得有用的话,欢迎关注专栏. App 的 URL Scheme 就像网页的 url 链接一样,可以打开 App 或跳转到相应的页面. 下面是我结合 参 ...

最新文章

  1. Linux 高级I/O之poll函数及简单服务器客户端编程
  2. Asp.Net ajax 面向对象类型系统2 - 使用事件
  3. 数据结构pta选择判断复习
  4. PSD分层模板素材丨只需掌握三大规则!电商海报秒脱俗套
  5. python接口自动化(三十四)-封装与调用--函数和参数化(详解)
  6. MySQL 5.6 dump/load buffer pool实验
  7. The Reactive Manifesto(响应式宣言)
  8. 面部捕捉技术_新功能要来!苹果收购面部捕捉技术公司Faceshift
  9. RT5350配置uboot 支持8M的Flash
  10. 螃蟹在剥我的壳,笔记本在写我。 漫天的我落在枫叶上雪花上。 而你在想我。
  11. MATLAB积分函数integral()的使用方法
  12. 从“触点”到“旅程”——浅谈数字时代的客户体验提升
  13. python 实现126邮箱登录
  14. java 线程 中断标志位
  15. 汽车驱动力及发动机转矩曲线在python中拟合
  16. 计算机英语发展,计算机发展史(英语版)
  17. H5棋牌游戏app下载链接在微信中显示已停止访问或打不开的解决方案
  18. 信用风险评估评分卡 之 极端值
  19. 知识点 —— Python进阶-3
  20. ecmall中如何在用户中心增加一个菜单

热门文章

  1. 手把手教-在自己的服务器上运行psychopy线上实验
  2. 计算机网络之五层体系结构
  3. Java太密来福_这篇文章就是要让你入门java多线程【多线程入门】-Go语言中文社区...
  4. 第一回 开篇 D3D渲染流程简介
  5. java中的i/o体系结构及流分类
  6. TIA博途中无法添加HSP硬件支持包的解决办法
  7. two stage(两阶段实例分割)自上而下(Top-Down)和自下而上(Bottom-Up)
  8. 换算rem的宽度和高度不生效 chrome字体最小为12px
  9. C++程序运算时间计算
  10. English trip V2-B 4 My Uncle Sam and Apple Pie 山姆大叔和苹果派 Teacher:Tom