KeyTool 证书管理
构建自签名证书
申请数字证书之前,需要在密钥库中以别名的方式生成本地数字证书,建立相应的加密算法、密钥、有效期等信息,同时需要提供用户身份信息,我们可以为自己签发一个数字证书(即自签名证书)。
- 构建证书之前,需要生成密钥对,也就是基于某一种非对称加密算法的公私钥。
keytool
-genkeypair #生成密钥对
-keyalg RSA #加密算法
-keysize 2048 #密钥长度,默认1024位
-sigalg SHA1withRSA #数字签名算法
-validity 36000 #证书有效期36000天
-alias www.zlex.org #别名
-keystore zlex.keystore #指定密钥库存储位置
-dname "CN=www.zlex.org,OU=zlex,O=zlex,L=BJ,ST=BJ,C=CN"
- 经过上述操作,密钥库中已经创建了数字证书。
虽然这时的数字证书并没有经过CA认证,但并不影响我们使用
- 导出数字证书
keytool
-exportcert #证书导出操作
-alias www.zlex.org #指定导出别名
-keystore zlex.keystore #指定密钥库文件
-file zlex.cer #指定导出文件路径
-rfc #指定以Base64编码格式输出
-storepass 123456 #设定密码
- 打印数字证书
keytool
-printcert
-file zlex.cer #指定要打印的证书文件
构建CA签发证书
- 生成数字证书签发申请
keytool
-certreq #生成数字证书签发申请操作
-alias www.zlex.org #指定别名
-keystore zlex.keystore #指定密钥库文件
-file zlex.csr #指定导出文件路径
-v #详细信息
-storepass 123456 #设定密码
- 获得签发的数字证书后,需要将其导入信任库。
keytool
-importcert #导入数字证书
-trustcacerts #将数字证书导入信任库
-alias www.zlex.org #指定别名
-file zlex.cer #指定导入数字证书文件路径
-keystore zlex.keystore #指定密钥库文件
-storepass 123455 #设定密码
- 导入证书后,我们可以通过相关命令查看该证书
- 列出密钥库中的条目
keytool
-list #列出密钥库中的条目
-alias www.zlex.org #指定别名
-keystore zlex.keystore #指定密钥库文件
我们也可以加入参数
-v
或-rfc
查看该证书的详细信息
完成上述操作后,需要使用证书导出命令导出数字证书。
网友评论