【Android 教程系列第 27 篇】如何使用 Keytool 工具生成 keystore 签名文件
这是【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 签名文件相关推荐
- 【Android 教程系列第 30 篇】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
这是[Android 教程系列第 30 篇],如果觉得有用的话,欢迎关注专栏. 当我们开发的 App 准备做上架应用市场时,应用市场会要求上架的 App 做加固处理,这是为什么呢 ? 文章目录 一:为 ...
- 【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程
这是[Android 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必 ...
- 【Android 教程系列第 14 篇】Android 系统版本和 API 等级对应关系表(持续更新)
这是[Android 教程系列第 14 篇],如果觉得有用的话,欢迎关注专栏. 很多人记不住 Android 系统版本和 API 等级对应的关系,这里我以 官网文档 和 安卓版本历史(维基百科) 为参 ...
- 【Android 教程系列第 31 篇】通过 adb install 命令安装 apk 时提示 signatures do not match previously installed version
这是[Android 教程系列第 31 篇],如果觉得有用的话,欢迎关注专栏. 遇到的一个小问题,做下记录. 一:问题描述 在使用 adb install 命令安装 apk 时,提示的内容如下 主要提 ...
- 【Android 教程系列第 23 篇】 java 方法之间怎么添加分割线
这是[Android 教程系列第 23 篇],如果觉得有用的话,欢迎关注专栏. 先来看一下添加前和添加后的对比情况,如下两图所示 一:添加前效果 二:添加后效果 可以看到在方法之间添加了分割线后,看起 ...
- 【Android 教程系列第 21 篇】如何查看安卓手机上支持哪些硬件和软件
这是[Android 教程系列第 21 篇],如果觉得有用的话,欢迎关注专栏. 我们做一些功能的时候,需要先知道当前功能是否被硬件所支持,要不然费很大劲做的功能到最后发现因为硬件不支持而功亏一篑,那可 ...
- 【Android 教程系列第 13 篇】在小米手机上使用安卓投屏软件 QtScrcpy ,为什么点击屏幕没有反应
这是[Android 教程系列第 13 篇],如果觉得有用的话,欢迎关注专栏. 一:问题描述 众所周知,QtScrcpy 是一款非常好用的安卓投屏软件. 以前用的测试机是一加的,最近换了小米的,发现开 ...
- 【Android 教程系列第 11 篇】安卓手机的制造商有哪些
这是[Android 教程系列第 11 篇],如果觉得有用的话,欢迎关注专栏. 有时候我们需要获取手机的一些设备信息,比如手机的 品牌(brand) ,如 Xiaomi.Redmi.OPPO.HUAW ...
- 【Android 教程系列第 12 篇】常用 App 的 URL Scheme
这是[Android 教程系列第 12 篇],如果觉得有用的话,欢迎关注专栏. App 的 URL Scheme 就像网页的 url 链接一样,可以打开 App 或跳转到相应的页面. 下面是我结合 参 ...
最新文章
- Linux 高级I/O之poll函数及简单服务器客户端编程
- Asp.Net ajax 面向对象类型系统2 - 使用事件
- 数据结构pta选择判断复习
- PSD分层模板素材丨只需掌握三大规则!电商海报秒脱俗套
- python接口自动化(三十四)-封装与调用--函数和参数化(详解)
- MySQL 5.6 dump/load buffer pool实验
- The Reactive Manifesto(响应式宣言)
- 面部捕捉技术_新功能要来!苹果收购面部捕捉技术公司Faceshift
- RT5350配置uboot 支持8M的Flash
- 螃蟹在剥我的壳,笔记本在写我。 漫天的我落在枫叶上雪花上。 而你在想我。
- MATLAB积分函数integral()的使用方法
- 从“触点”到“旅程”——浅谈数字时代的客户体验提升
- python 实现126邮箱登录
- java 线程 中断标志位
- 汽车驱动力及发动机转矩曲线在python中拟合
- 计算机英语发展,计算机发展史(英语版)
- H5棋牌游戏app下载链接在微信中显示已停止访问或打不开的解决方案
- 信用风险评估评分卡 之 极端值
- 知识点 —— Python进阶-3
- ecmall中如何在用户中心增加一个菜单
热门文章
- 手把手教-在自己的服务器上运行psychopy线上实验
- 计算机网络之五层体系结构
- Java太密来福_这篇文章就是要让你入门java多线程【多线程入门】-Go语言中文社区...
- 第一回 开篇 D3D渲染流程简介
- java中的i/o体系结构及流分类
- TIA博途中无法添加HSP硬件支持包的解决办法
- two stage(两阶段实例分割)自上而下(Top-Down)和自下而上(Bottom-Up)
- 换算rem的宽度和高度不生效 chrome字体最小为12px
- C++程序运算时间计算
- English trip V2-B 4 My Uncle Sam and Apple Pie 山姆大叔和苹果派 Teacher:Tom