keytool工具的使用
2016-05-06 00:00
411 查看
摘要: keytool是一个密钥和证书管理工具,如果的系统是Mac系统的话,它的存放目录是:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin
这篇博客以Mac系统为例,window系统类似。
首先打开终端,输入:
效果如下:
这是keytool的一些常用命令。
生成一个keystore
生成一个keystore的命名为:
-alias 后面跟的是别名这里是alias_name
-keyalg 是加密方式这里是RSA
-validity 是有效期这里是20000天
-keystore 就是要生成的keystore的名称这里是android.key
注意: -keystore 我这里写上了路径,如果不写的话,命令为:
这样生成的android.key文件就在/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin目录下,但是在这个目录下我没有权限,所以写到最后报错:
故我加上了 /Users/gefufeng/work/demo/android.key
下面是具体步骤:
至此,我的keystore文件生成
查看ketstore文件的信息
这个关键是找到你的keystore文件的位置,例如:
效果如下:
所有信息一览无余
这篇博客以Mac系统为例,window系统类似。
首先打开终端,输入:
keytool -help
效果如下:
gefufengdeMacBook-Air:bin gefufeng$ keytool -help 密钥和证书管理工具 命令: -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importpass 导入口令 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令 使用 "keytool -command_name -help" 获取 command_name 的用法
这是keytool的一些常用命令。
生成一个keystore
生成一个keystore的命名为:
keytool -genkey -alias alias_name -keyalg RSA -validity 20000 -keystore /Users/gefufeng/work/demo/android.key
-alias 后面跟的是别名这里是alias_name
-keyalg 是加密方式这里是RSA
-validity 是有效期这里是20000天
-keystore 就是要生成的keystore的名称这里是android.key
注意: -keystore 我这里写上了路径,如果不写的话,命令为:
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.key
这样生成的android.key文件就在/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin目录下,但是在这个目录下我没有权限,所以写到最后报错:
keytool 错误: java.io.FileNotFoundException: Android.keystore (Permission denied)
故我加上了 /Users/gefufeng/work/demo/android.key
下面是具体步骤:
gefufengdeMacBook-Air:bin gefufeng$ keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore /Users/gefufeng/work/demo/android.key 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: ge 您的组织单位名称是什么? [Unknown]: ge 您的组织名称是什么? [Unknown]: ge 您所在的城市或区域名称是什么? [Unknown]: ge 您所在的省/市/自治区名称是什么? [Unknown]: ge 该单位的双字母国家/地区代码是什么? [Unknown]: CH CN=ge, OU=ge, O=ge, L=ge, ST=ge, C=CH是否正确? [否]: y 输入 <android.key> 的密钥口令 (如果和密钥库口令相同, 按回车):
至此,我的keystore文件生成
查看ketstore文件的信息
这个关键是找到你的keystore文件的位置,例如:
keytool -list -v -ketsore /Users/gefufeng/work/demo/android.key
效果如下:
gefufengdeMacBook-Air:bin gefufeng$ keytool -list -v -keystore /Users/gefufeng/work/demo/android.key -storepass gefufeng 密钥库类型: JKS 密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: android.key 创建日期: 2016-5-6 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CN=ge, OU=ge, O=ge, L=ge, ST=ge, C=CH 发布者: CN=ge, OU=ge, O=ge, L=ge, ST=ge, C=CH 序列号: 162d2412 有效期开始日期: Fri May 06 13:59:44 CST 2016, 截止日期: Sat Feb 07 13:59:44 CST 2071 证书指纹: MD5: 49:CD:72:AA:3F:F3:42:9C:29:35:75:8B:00:94:74:7C SHA1: 2F:A5:66:6D:C7:E0:B4:0D:4F:6D:39:BC:E1:4B:F4:70:5C:EB:DE:62 SHA256: BD:4A:BD:1B:AF:38:8A:43:B5:15:8A:17:08:BE:16:16:65:1A:62:6F:8E:B3:B3:22:0B:8B:92:86:EF:4F:A3:9E 签名算法名称: SHA256withRSA 版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 53 0C 42 69 5E 7C B4 D6 A1 3B CD FF DD 74 76 7C S.Bi^....;...tv. 0010: 82 42 2E D8 .B.. ] ] ******************************************* *******************************************
所有信息一览无余
相关文章推荐
- 修改Android签名证书keystore的密码、别名alias以及别名密码
- jdk中密钥和证书管理工具keytool常用命令详解
- Android签名机制介绍:生成keystore、签名、查看签名信息等方法
- Android之apk文件签名——keytool 和 jarsigner
- 使用jdk中keytool生成证书
- keytool+tomcat配置HTTPS双向证书认证
- Tomcat 7下SSL配置出现异常: '/root/.keystore' did not find a matching property
- Tomcat报错“connector attribute SSLCertificateFile must be defined...”
- keytool生成证书与Tomcat SSL配置
- Java制作证书的工具keytool用法总结
- KeyStore(示例,出错代码)
- 命令行生成keystore
- Android开发中ant的简单使用和利用keystore对apk签名
- 学习Android客户端和服务器端SSLSocket交互的总结
- keytool+tomcat配置HTTPS双向证书认证
- Android 修改签名文件keystore文件密码
- 命令生成keystore数字证书
- Java-JSSE-SSL/TLS编程代码实例-双向认证
- Java实现自签名证书,CA颁发证书
- Difference between trustStore vs keyStore in Java SSL