第一步:为服务器生成证书
打开CMD命令行工具,cd到C盘根目录或者是jdk的bin目录下,命令
cd "C:\Program Files\Java\jdk1.8.0_91\bin"
如下图所示:

使用keytool命令生成证书,下面是参数解析:
keytool
-genkey
-alias tomcat(别名)
-keypass 123456(别名密码)
-keyalg RSA(算法)
-keysize 1024(密钥长度)
-validity 365(有效期,天单位)
-keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称)
-storepass 123456(获取keystore信息的密码)
命令如下:
./keytool -genkey -alias config -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/config.keystore -storepass 123456
图例:“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;

回车执行后如下图:

点击回车即可在D:/keys/文件夹内生成名为:config.keystore的文件。成功后无提示信息
注意:
①D:/keys/ 目录需要提前手动创建好,否则会生成失败
问题①的错误信息如下:

②提示输入域名的时候不能输入IP地址
附录1:
keytool常用命令的含义
-alias 产生别名
-keystore 指定密钥库的名称(就像数据库一样的证书库,可以有很多个证书,cacerts这个文件是jre自带的,
你也可以使用其它文件名字,如果没有这个文件名字,它会创建这样一个)
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-list 显示密钥库中的证书信息
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目
-import 将已签名数字证书导入密钥库
-keypasswd 修改密钥库中指定条目口令
-dname 指定证书拥有者信息
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
使用说明:
导入一个证书命令可以如下:
./keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias alibabacert -file C:\alibabajava\cert\test_root.cer
其中-keystore cacerts中的cacerts是jre中默认的证书库名字,也可以使用其它名字
-storepass 666666中的666666是这个证书库的密码
-keypass 888888中的888888是这个特定证书的密码
-alias alibabacert中的alibabacert是你导入证书的别名,在其它操作命令中就可以使用它
-file C:\alibabajava\cert\test_root.cer中的文件路径就是要导入证书的路径
浏览证书库里面的证书信息,可以使用如下命令:
./keytool -list -v -alias alibabacert -keystore cacerts -storepass 666666
要删除证书库里面的某个证书,可以使用如下命令:
./keytool -delete -alias alibabacert -keystore cacerts -storepass 666666
要导出证书库里面的某个证书,可以使用如下命令:
./keytool -export -keystore cacerts -storepass 666666 -alias alibabacert -file F:\alibabacert_root.cer
要修改某个证书的密码(注意:有些数字认证没有私有密码,只有公匙,这种情况此命令无效)
这个是交互式的,在输入命令后,会要求你输入密码
./keytool -keypasswd -alias alibabacert -keystore cacerts
这个不是交互式的,输入命令后直接更改
./Keytool -keypasswd -alias alibabacert -keypass 888888 -new 123456 -storepass 666666 -keystore cacerts
网友评论