一、生成服务器站点证书
1. 生成密钥仓库
进入jdk的bin目录,如:D:\jdk1.6.0_16\bin
执行:
D:\jdk1.6.0_16\bin\keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore D:\keys\server.keystore -validity 36500
参数说明:
- -genkey 生成秘钥。
- -keyalg 指定秘钥算法,这里指定RSA
- -keysize 指定秘钥长度, 默认1024位 ,这里指定2048,长一点,比较难破解
- -keystore “D:\keys\server.keystore”含义是将证书仓库文件的保存路径,证书仓库文件名称是server.keystore ;
- -validity “36500”含义是证书有效期,36500表示100年,默认值是90天 “tomcat”为自定义证书名称,默认与仓库文件名一致
- -alias 指定别名
在命令行填写必要参数:
- 输入keystore密码:此处需要输入大于6个字符的字符串(如:123456)。
- “您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP,否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”。
- 你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家 代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n” 重新填写上面的信息。
- 输入的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以,完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件。
2. 导出证书
keytool -export tomcat -storepass 123456 -file D:/keys/tomcat.cer -keystore D:/keys/tomcat.keystore
参数说明:
- -alias 指定别名为 tomcat;
- storepass 指定私钥为123456;
- -file 指定导出证书的文件名称 为 tomcat.cer ;
- keystore 指定之前生成的秘钥文件名称;
注意: -alias 和 -storepass 必须为生成tomcat.keystore 秘钥文件时所指定的别名和密码,否则证书导出失败。
3. 把证书导入到jdk 信任库
把证书导入到jdk 信任库
D:\jdk1.6.0_16\bin\keytool -import -trustcacerts -alias tomcat -file d:\keys\server.keystore tomcat.cer -keystore D:/jdk1.6.0_16/jre/lib/security/cacerts
注意:
原来的 $ JAVA_HOME/jre/lib/security目录下的cacerts 文件要先删除 ,否则后报 java.io.IOException:Keystore was tampered with, or password was incorrect 错误。
如果路径有空格或特殊符号,要加引号。
执行命令 按提示操作
二、 导入浏览器
下面打开浏览器的Internet选项 ----> 内容 ----> 证书
选择"受信任的根证书颁发机构" ----> 导入证书
将生成的证书导入进来
其余的步骤直接下一步即可
重启浏览器,发现------没有红色警告了!!!