tomcat7+jdk的keytool生成证书 配置https
来源:互联网 发布:高中物理仿真实验软件 编辑:程序博客网 时间:2024/06/01 10:11
目前只会使用jdk的keytool来生成证书。本文仅介绍这种方法。
1Windows下:
1.1 生成keystore文件及导出证书
打开控制台:
运行:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
按照要求一步步的输入信息,问你国家/地区代码的时候,输入cn。
输入密码的时候,这里使用:changeit
最后一步让你输入的时候,直接回车。
具体记录如下:
C:\Users\Administrator>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: tuhao
您的组织单位名称是什么?
[Unknown]: tuhaojia
您的组织名称是什么?
[Unknown]: fnic
您所在的城市或区域名称是什么?
[Unknown]: didu
您所在的省/市/自治区名称是什么?
[Unknown]: didu
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=tuhao, OU=tuhaojia, O=fnic, L=didu, ST=didu, C=cn是否正确?
[否]: y
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
这里你要直接按回车。
完毕后会在当前目录下,会产生一个:.keystore文件,将它拷贝到tomcat的bin目录下。
从控制台进入tomcat的bin目录,本机环境是:D:\Tomcat7\bin>
导出证书文件:
D:\Tomcat7\bin>keytool -selfcert -alias tomcat -keystore .keystore
输入密钥库口令:(此处为上面生成证书时输入的changeit)
D:\Tomcat7\bin>keytool -export -alias tomcat -keystore .keystore -storepass changeit -rfc -file tomcat.cer
存储在文件 <tomcat.cer> 中的证书
此时会在D:\Tomcat7\bin>下生成tomcat.cer证书文件。将该文件发给使用者,让他们安装该证书,并将证书安装在“受信任的根证书颁发机构”区域中。具体的操作步骤可以参照铁道部12306.cn网站证书的安装步骤。它们是一样一样一样的。
1.2 配置tomcat
打开$CATALINA_BASE/conf/server.xml
找到“SSL HTTP/1.1 Connector” 那一块,取消注释并将它改成:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
请注意,这里我已经将tomcat的端口改成了80,相应的,https的端口我也改成了443(即默认的https端口)。
修改windows机器的host文件,增加一行(我的机器的ip是192.168.68.75):
192.168.68.75 tuhao
接下来重启tomcat,用https://tuhao/访问网站验证一下就行了。
接下来将演示linux下配置tomcat的https。
2.linux下设置:
2.1生成keystore文件及导出证书
这一步和在windows下操作差不多,只是环境变量的引用方式不一样,并且,这次我们指定生成的文件存储的目录:
[root@localhost ~]# $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/bin/.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: tuhao.com
您的组织单位名称是什么?
[Unknown]: tuhaojia
您的组织名称是什么?
[Unknown]: fnic
您所在的城市或区域名称是什么?
[Unknown]: didu
您所在的州或省份名称是什么?
[Unknown]: didu
该单位的两字母国家代码是什么
[Unknown]: cn
CN=tuhao.com, OU=tuhaojia, O=fnic, L=didu, ST=didu, C=cn 正确吗?
[否]: y
输入<tomcat>的主密码
(如果和 keystore 密码相同,按回车):
在这里直接敲回车
[root@localhost ~]# cd /usr/local/tomcat/bin/
[root@localhost bin]# keytool -selfcert -alias tomcat -keystore .keystore
输入keystore密码:
[root@localhost bin]# keytool -export -alias tomcat -keystore .keystore -storepass changeit -rfc -file tomcat.cer
保存在文件中的认证 <tomcat.cer>
将 /usr/local/tomcat/bin/tomcat.cer拷贝到本地。
2.2 配置tomcat:
这一步和windows一样,我就直接把windows的那部分拷贝过来了:
打开$CATALINA_BASE/conf/server.xml
找到“SSL HTTP/1.1 Connector” 那一块,取消注释并将它改成:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
请注意,这里我已经将tomcat的端口改成了80,相应的,https的端口我也改成了443(即默认的https端口)。
接下来是要设置防火墙,我试过增加tcp的443端口,允许访问,但是外面依然无法访问这台服务器的https,干脆我将iptables服务停止掉,这样就可以了。
验证是否配置成功:
重启tomcat,修改windows机器的host文件,增加一行(linux机器的ip是192.168.68.74(C:\Windows\System32\drivers\etc)):
192.168.68.74 tuhao.com
然后安装tomcat.cer,注意,一定要安装在“受信任的根证书颁发机构”这个区域里。
通过浏览器访问:https://tuhao.com/ 就可以看到https被认为是可信的了。
在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下:
每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来,
在该网页上右键 >> 属性 >> 点击"证书" >>
再点击上面的"详细信息"切换栏 >>
再点击右下角那个"复制到文件"的按钮
就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
方法如下
假设你的jdk安装在C:\jdk1.7这个目录,
开始 >> 运行 >> 输入cmd 进入dos命令行 >>
再用cd进入到C:\jdk1.7\jre\lib\security这个目录下
敲入如下命令回车执行
keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer -trustcacerts
此时命令行会提示你输入cacerts证书库的密码,
你敲入changeit就行了,这是java中cacerts证书库的默认密码,
你自已也可以修改的。
ok,大功告成!
以后更新时,先删除原来的证书,然后导入新的证书
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts
总结:
生成证书的时候,“您的名字与姓氏是什么” 一定要注意输入你的ip、机器名、域名,总之,你希望以后通过https://xx来访问你的网站的话,此处就要填写xx。否则,会有证书不受信的提示。
原文出自:http://www.cnblogs.com/sixiweb/p/3339698.html
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- tomcat7+jdk的keytool生成证书 配置https
- keytool+tomcat7配置HTTPS双向证书认证
- tomcat配置https–采用JDK自带的keytool工具生成证书
- JDK自带工具keytool生成ssl证书(web服务https配置)
- JDK自带工具keytool生成ssl证书(https自生成证书并配置到jboss和tomcat中)
- keytool工具生成证书:Tomcat启用HTTPS协议配置过程
- 第十二周【项目1-实现复数类中的运算符重载】
- js检测输入框是否为空或是只输入的空格
- __attribute__((packed))详解
- 第十一周阅读项目(5)
- 第十三周项目2.1—动物这样叫
- tomcat7+jdk的keytool生成证书 配置https
- 版本控制git与eclipse的结合使用
- 当下最流行的10大H5前端框架
- NSData和NSString、NSDictionary、NSArray互转
- HDU4355(三分)
- 【日志框架】——通过log4j.properties文件学习log4j
- cordova试用
- Android 4G专网模块信号的上报过程
- 移动端canvas.arc与css的filter