使用keytool管理数字证书-阿里云开发者社区

开发者社区> 小龙猫> 正文

使用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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
个人网站可以申请什么样的https证书
  https证书即SSL证书,网站安装SSL证书可将http协议升级为https加密协议,可保障网站数据信息安全。随着SSL证书技术不断的发展,SSL证书的作用不仅仅在于数据加密,还有利于seo关键词优化,帮助网站进行排名,这也是个人网站选择安装SSL证书的重要原因。
2606 0
HOLOTOOLKIT的使用
Using HoloToolkit-Unity in Your Project Open or create your project in Unity. Assets -> Import Package -> Custom Package… [Navigate to the package you exported above].
604 0
android 数字键盘使用
在android中,如果想调出键盘是数字的话,注意点。 一、只能输入1234567890的键盘integer只有数字输入,但是按回车键是没有任何反应的,不会跳到下一个输入框 二、decimal 此时,只能输入1234567890. 十位数字和一位小数点,如下图所示 但是按回车键是没有任何反应的,不会跳到下一个输入框 三、signed 此时输入法只能输入十位数字和一个负号“-” 小数点是不能输入的。
822 0
sizeof()的使用及各种数据类型的字节大小
1、什么是sizeof   首先看一下sizeof在msdn上的定义:    The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.   看到return这个字眼,是不是想到了函数?错 了,sizeof不是一个函数,你见过给一个函数传参数,而不加括号的吗?sizeof可以,所以sizeof不是函数。
960 0
使用ssh-keygen生存密钥对
个人博客: alex-my.xyz      ssh-keygen具体更加详细的用法请参见“ssh-keygen中文手册”。 本处仅讲述生成过程,为了github.com服务添加安全保障。     1、在~下有一个隐藏文件夹.ssh,大家可以输入命令,cd~/.ssh,如果不存在,请建立。     2、一般我们会给生成的key添加一个注释,因此我们的命令一般是这样的:    
992 0
+关注
125
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载