使用keytool管理数字证书

简介:

keytool是Java的数字证书管理工具,用于数字证书的生成,导入,导出与撤销等操作。它与本地密钥库关联,并可以对本地密钥库进行管理,可以将私钥存放于密钥库中,而公钥使用数字证书进行输出。keytool在jdk安装目录的bin文件夹下:

155601_WkoI_1434710.png

构建自签名证书

在构建CSR之前,需要先在密钥库中生成本地数字证书,此时需要提供用户的身份、加密算法、有效期等一些数字证书的基本信息:

?
1
2
keytool -genkeypair -keyalg RSA -keysize 1024 -sigalg MD5withRSA \
-validity 365 - alias  www.mydomain.com -keystore ~ /my .keystore

参数介绍:

-genkeypair——产生密钥对

-keyalg——指定加密算法

-keysize——指定密钥长度

-sigalg——指定签名算法

-validity——证书有效期

-alias——证书别名

-keystore——指定密钥库的位置

执行结果:

160559_RvbU_1434710.png

证书导出

执行了上面的命令后,我们已经生成了一个本地数字证书,虽然还没有经过证书认证机构进行认证,但并不影响使用,我们可以使用相应的命令对证书进行导出。

?
1
2
keytool -exportcert - alias  
-keystore ~ /my .keystore - file  /tmp/my .cer -rfc

参数介绍:

-exportcert——执行证书导出

-alias——密钥库中的证书别名

-keystore——指定密钥库文件

-file——导出的文件输出路径

-rfc——使用Base64格式输出

执行结果:

161343_NNNp_1434710.png

证书导出后,可以使用打印证书命令查看证书内容:

?
1
keytool -printcert - file  /tmp/my .cer

参数介绍:

-printcert——执行证书打印命令

-file——指定证书文件路径

执行结果:

161635_O7Wb_1434710.png

导出CSR文件

如果想得到证书认证机构的认证,需要导出数字证书并签发申请(Cerificate Signing Request),经证书认证机构认证并颁发后,再将认证后的证书导入本地密钥库与信任库。

导出CSR文件命令:

?
1
2
keytool -certreq - alias  
  -keystore ~ /my .keystore - file  /tmp/my .csr - v

参数介绍:

-certreq——执行证书签发申请导出操作

-alias——证书的别名

-keystore——使用的密钥库文件

-file——输出的csr文件路径

-v——显示详细情况

执行结果:

162441_qj8D_1434710.png

导出CSR文件后,便可以到VeriSign、GeoTrust等权威机构进行证书认证了。

证书导入

获得证书认证机构办法的数字证书后,需要将其导入信任库。

导入数字证书的命令:

?
1
2
keytool -importcert -trustcacerts - alias  www.mydomain.com \
- file  /tmp/my .cer -keystore ~ /my .keystore

参数介绍:

-importcert——执行导入证书操作

-trustcacerts——将证书导入信任库

-alias——证书别名

-file——要导入的证书文件的路径

-keystore——指定密钥库文件

导入证书成功后,可以通过list命令来查看密钥库中的证书:

?
1
keytool -list - alias  www.mydomain.com -keystore ~ /my .keystore

执行结果如下:

165359_KyG5_1434710.png

目录
相关文章
|
25天前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
23 0
|
7月前
|
存储 安全 算法
数字证书
本实验带您了解并使用数字证书。
111 0
|
22天前
keytool工具生成jks证书
keytool工具生成jks证书
10 0
|
8月前
|
Go
使用certstrap快速生成自签名证书
使用certstrap快速生成自签名证书
218 0
|
11月前
|
算法 Java 数据安全/隐私保护
全网最全的keytool证书生成、证书管理命令
全网最全的keytool证书生成、证书管理命令
407 0
|
应用服务中间件 网络安全 开发工具
|
存储 算法 Java
使用keytool 生成证书
keytool 简介 keytool 是java 用于管理密钥和证书的工具,官方文档其功能包括: 创建并管理密钥 创建并管理证书 作为CA 为证书授权 导入导出证书 主要格式keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;keystor...
7409 0
|
开发者
公钥证书
开放平台证书说明  蚂蚁金服开放平台提供对X.509格式证书的支持,开发者上传证书后,后续在和支付宝开放平台交互过程中支付宝会尝试使用该证书进行报文验签。  证书说明 在报文签名场景下,报文接受方使用发送方的公钥进行报文验签即可,而证书的一个好处在于引入了CA机构对公钥进行认证,保证该证书所属实体的真实性。
650 0

热门文章

最新文章

相关实验场景

更多