Java中keytool管理证书
1.创建证书库以及第一个证书
keytool -genkeypair -alias "wangpass" -keyalg "RSA" -keystore "wang.keystore"
输入密码:wangpass
说明:
密钥库密码为wangpass
功能:
创建一个别名为wangpass的证书条目,该条目存放在名为wang.keystore的密钥库中,若wang.keystore密钥库不存在则创建。
参数说明:
-genkeypair:生成一对非对称密钥;
-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件
注意:
1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;
2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码
3.证书库和密钥库可以理解为相同概念
2.查看证书库
为了测试需要,这里再创建两个别名为wangpass2和wangpass3的证书条目在wang.keystore密钥库中,代码如下:
keytool -genkeypair -alias "wangpass2" -keyalg "RSA" -keystore "wang.keystore"
keytool -genkeypair -alias "wangpass3" -keyalg "RSA" -keystore "wang.keystore"
查看wang.keystore的证书库中的证书条目
keytool -list -keystore wang.keystore
3.导出证书文件
将名为wang.keystore的证书库中别名为wangpass的证书条目导出到证书文件wang.crt中
keytool -export -alias wangpass -file wangpass.crt -keystore wang.keystore
4.导入证书的信息
将证书文件wangpass.crt导入到名为wangpass_cacerts的证书库中
keytool -import -keystore wangpass_cacerts -file wangpass.crt
备注:如果想要把证书导入到jdk的C:\Program Files\Java\jdk1.8.0_121\jre\lib\security\cacerts中,需要进入到cacerts文件所在目录下,否则无法导入。如下图
5.查看证书信息
查看证书文件wangpass.crt的信息
keytool -printcert -file "wangpass.crt"
6.删除密钥库中的条目
删除前查看密钥库test.keysote中的证书条目
keytool -list -keystore wang.keystore
删除密钥库test.keystore中别名为test2的证书条目
keytool -delete -keystore wang.keystore -alias wangpass2
删除后查看密钥库test.keystore中的证书条目
keytool -list -keystore wang.keystore
7.修改证书条目的口令
将密钥库wang.keystore中别名为wangpass的证书条目的密码修改为wangpassnew
keytool -keypasswd -alias wangpass -keystore wang.keystore
非交互方式
将密钥库wang.keystore中别名为wangpass的证书条目的密码修改为wangpass
keytool -keypasswd -alias wangpass -keypass wangpassnew -new wangpass -storepass wangpass -keystore wang.keystore
最新文章
- iOS面试题总结 (二)
- HTML常用属性
- android 初步了解应用Gson 解析Json数据
- 在Hadoop平台跑python脚本
- 9、面向对象以及winform的简单运用(输入输出流、图像的上传和读取)
- 错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置
- JQuery 分页实现
- POJ 1845
- Deppon接口开发
- lnmp一键安装包配置laravel项目
- Hyper-V安装虚拟机
- Jetson tk1 刷机教程
- ubantu创建python虚拟环境
- weblogc SessionData.getNextId性能问题
- AtCoder Beginner Contest 086 D - Checker
- Automatic Login Using sshpass
- virtual memory exhausted: Cannot allocate memory 解决方法
- imageNamed 、imageWithContentsOfFile、 initWithContentsFile区别
- ios 动画的时候 如果加阴影 会卡顿的
- 前端Blob对象的使用
热门文章
- Windows PCM音频捕获与播放实现
- FJOI2016 神秘数
- ACM学习历程—HDU1041 Computer Transformation(递推 &;&; 大数)
- bzoj 4034: 树上操作 线段树
- 一个Web结合Mybatis项目
- 解析CmdLine参数
- docker Get started part 4: Accessing your cluster cannot curl
- delphi 线程教学第一节:初识多线程
- .net wcf调用java的需要认证的接口
- R: factor &; list 生成和操作因子、列表