keytool如何生成自签名证书?
所谓的自签名证书就是利用第三方工具生成的不受CA机构认可的证书,它是用户自己颁发给自己的,但是它和正式已经发布的证书功能是一样的,都可以用来作签名。本文就主要介绍如何利用JDK工具keytool来生成自签名证书,方便平时进行https功能开发及测试,为申请正式证书作准备。
JDK 1.8Windwos 7工具:
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文件,双击此文件就可以看到证书的详细信息。