文档章节

使用keytool管理数字证书

摆渡者
 摆渡者
发布于 2016/04/01 16:54
字数 747
阅读 340
收藏 2

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

构建自签名证书

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

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

参数介绍:

-genkeypair——产生密钥对

-keyalg——指定加密算法

-keysize——指定密钥长度

-sigalg——指定签名算法

-validity——证书有效期

-alias——证书别名

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

执行结果:

证书导出

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

keytool -exportcert -alias  \ 
-keystore ~/my.keystore -file /tmp/my.cer -rfc

参数介绍:

-exportcert——执行证书导出

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

-keystore——指定密钥库文件

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

-rfc——使用Base64格式输出

执行结果:

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

keytool -printcert -file /tmp/my.cer

参数介绍:

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

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

执行结果:

导出CSR文件

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

导出CSR文件命令:

keytool -certreq -alias  \ 
 -keystore ~/my.keystore -file /tmp/my.csr -v

参数介绍:

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

-alias——证书的别名

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

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

-v——显示详细情况

执行结果:

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

证书导入

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

导入数字证书的命令:

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

参数介绍:

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

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

-alias——证书别名

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

-keystore——指定密钥库文件

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

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

执行结果如下:

© 著作权归作者所有

摆渡者
粉丝 345
博文 171
码字总数 206504
作品 0
成都
程序员
私信 提问
Android/Ophone应用程序数字签名

前两天搞了个应用到MM上去,结果与测试通不过,原因是“应用程序证书有效期不足1年”,结果才发现,上传的应用程序忘记签名了。 为Android/Ophone应用程序签名步骤: 1.确保电脑上安装了JDK...

无鸯
2011/09/23
504
0
安装部署jasig cas server及相关实践

jasig cas server是一个开源的单点登录认证服务器。部署很简单,下载后将war包放入tomcat后启动。需要理解并解决的问题有: 一、使tomcat支持https https协议通过ssl和数字证书来保证c/s间的...

jch_zhao
2017/07/14
0
0
SSL/TLS双向认证案例参考

一.首先我们需要生成服务器端和客户端的数字证书并添加信任 实际应用环境里,需要向CA机构申请服务器证书。这里我们为了测试方便通过Keytool工具生成自签名证书来模拟。 注:相关参数说明请...

F风向标F
2014/09/13
3.2K
0
android数字签名

Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有...

迷途d书童
2012/03/26
4.2K
0
常用的Java Keytool Keystore命令

Java keytool是密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储...

HHT15927087748
2018/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

32位与64位Linux系统下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。 1. 32 位和 64 位C数据类型...

mskk
20分钟前
5
0
Vue 实现点击空白处隐藏某节点(三种方式:指令、普通、遮罩)

在项目中往往会有这样的需求: 弹出框(或Popover)在 show 后,点击空白处可以将其 hide。 针对此需求,整理了三种实现方式,大家按实际情况选择。 当然,我们做项目肯定会用到 UI 框架,常...

张兴华ZHero
26分钟前
7
0
SpringBoot激活profiles你知道几种方式?

多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。 激活Profi...

恒宇少年
28分钟前
7
0
PDF修改文字的方法有哪些?怎么修改PDF文件中的文字

PDF修改文字一直以来都是一个难以解决的问题,很多的办公族在办公的时候会有修改PDF文件中的文字的需要,可是PDF文件一般是不能进行编辑和修改的,难道就没有什么办法解决这个问题了嘛?不要...

趣味办公社
31分钟前
4
0
企业组织中采用服务网格的挑战

作者:Christian Posta 译者:罗广明 原文:https://blog.christianposta.com/challenges-of-adopting-service-mesh-in-enterprise-organizations/ 编者按 本文作者介绍了企业组织采用服务网...

jimmysong
40分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部