keytool如何生成自签名证书?

文章来源

https://jingyan.baidu.com/article/6079ad0eb284ad28ff86db18.html

验证命令如下:
    > 生成证书文件:
	keytool -genkey -alias server_cert -keypass 12345678 -keyalg RSA -keysize 1024 -validity 365
	-keystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.keystore -storepass 87654321
	
	> 查看证书详情:
	keytool -list -v -keystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.keystore 
	-storepass 87654321
	
	> keystore文件生成cer文件:
	keytool -export -alias server_cert 
	-keystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.keystore
	-file C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\tomcat_server.cer
	
	> 打印证书信息:
	keytool -list -rfc -keystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.keystore 
	-storepass 87654321
	
	> 提取公钥(证书):
	将上一步(打印证书信息)中公钥信息复制到server.txt中保存后,将server.txt文件重新命名为:server.cer文件即可。
	
	> 提取私钥
	keytool -v -importkeystore 
	-srckeystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.keystore 
	-srcstoretype jks -srcstorepass 87654321 
	-destkeystore C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.pfx 
	-deststoretype pkcs12 -deststorepass 876543210 -destkeypass 12345678
		其中原密钥口令为:12345678
		
	openssl pkcs12 -in C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.pfx -nocerts -nodes 
	-out C:\Users\xxxx\Desktop\jarsigner\self-signed-certificate\server.key
		其中Enter Import Password:876543210
证书生成如下:

在这里插入图片描述


所谓的自签名证书就是利用第三方工具生成的不受CA机构认可的证书,它是用户自己颁发给自己的,但是它和正式已经发布的证书功能是一样的,都可以用来作签名。本文就主要介绍如何利用JDK工具keytool来生成自签名证书,方便平时进行https功能开发及测试,为申请正式证书作准备。

在这里插入图片描述


前提:
  • JDK 1.8
  • Windwos 7

第一步:

打开资源管理器,进入到证书生成目录,本例的目录为C:\yc\8.others\cert

在资源管理器空白处按住SHIFT键同时右击鼠标,在弹出的快捷菜单中选择【在此处打开命令行窗口】

在这里插入图片描述

第二步:

在cmd窗口中输入java -version,如果出现如下提示则说明JDK已经安装,否则请先安装JDK。

在这里插入图片描述

第三步:

在cmd中输入keytool可以看到一些常用参数的含义,为了方便阅读,我贴出了一张白色背景的图片。

alias指定生成密钥对的别名

keyalg指定生成密钥的算法

validity指定证书的有效期,单位为天

keystore指定密钥库的存储路径

storepass指定密钥库的密码

在这里插入图片描述

第四步

理解了参数的含义后执行如下命令

keytool -genkey -alias server_cert -keypass 12345678 -keyalg RSA -keysize 1024
-validity 365 -keystore C:\yc\8.others\cert\server.keystore -storepass 87654321

命令执行后系统会提示输入名字与姓氏、单位与组织等,这些都将会记录到证书中。按照指示录入完成后就可以看到生成的证书文件了。
在这里插入图片描述

第五步

输入命令keytool -list -v -keystore server.keystore -storepass 87654321,可以查看证书文件的详情。

注意到server_cert为【步骤4】中指定的别名。
在这里插入图片描述

第六步

执行命令

keytool -export -alias server_cert -keystore server.keystore -file tomcat_server.cer

此时会提示输入密钥库密码,本例为【步骤4】中设置的87654321,输入后回车便可生成tomcat_server.cer文件,双击此文件就可以看到证书的详细信息。
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值