keytool制作CA根证书以及颁发二级证书

keytool是jdk自带的一款ssl管理工具,jdk6和jdk7的keytool命令有些不同,jdk7的兼容jdk6的,这里用的是jdk7下的keytool。搞了两天,遇到各种问题,甚是艰难啊

[root@localhost ~]# keytool -help
密钥和证书管理工具

命令:

 -certreq            生成证书请求
 -changealias        更改条目的别名
 -delete             删除条目
 -exportcert         导出证书
 -genkeypair         生成密钥对
 -genseckey          生成密钥
 -gencert            根据证书请求生成证书
 -importcert         导入证书或证书链
 -importkeystore     从其他密钥库导入一个或所有条目
 -keypasswd          更改条目的密钥口令
 -list               列出密钥库中的条目
 -printcert          打印证书内容
 -printcertreq       打印证书请求的内容
 -printcrl           打印 CRL 文件的内容
 -storepasswd        更改密钥库的存储口令

使用 "keytool -command_name -help" 获取 command_name 的用法


这是支持的命令,可以使用 keytool -command_name -help获得子命令的用法,如 keytool -genkeypair -help.

生成自签名的证书

[root@localhost ~]# keytool -genkeypair -alias rootca -keyalg RSA
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  xx认证中心
您的组织单位名称是什么?
  [Unknown]:  xx认证中心
您的组织名称是什么?
  [Unknown]:  xxrenz^H^H^H^[[D
您所在的城市或区域名称是什么?
  [Unknown]:  zz
您所在的省/市/自治区名称是什么?
  [Unknown]:  gd
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=xx认证中心, OU=xx认证中心, O=xx, L=zz, ST=gd, C=CN是否正确?
  [否]:  Y

输入 <rootca> 的密钥口令
	(如果和密钥库口令相同, 按回车):  
[root@localhost ~]# 

 alias是别名,就是给某某证书取个名字,可以随便写,可以用changealias命令修改

keyalg是加密算法,有DSA,RSA,默认是DSA,因为DSA只能用于签名,不能用于加密,一般只需要签名功能

这里有两个密码:密钥库密码和密钥密码,密钥库是存储密钥的地方,他有密码ÿ

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值