tomcat7+jdk的keytool生成证书 配置https
目前只会使用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):
192.168.68.74 tuhao.com
然后安装tomcat.cer,注意,一定要安装在“受信任的根证书颁发机构”这个区域里。
通过浏览器访问:https://tuhao.com/ 就可以看到https被认为是可信的了。
总结:
生成证书的时候,“您的名字与姓氏是什么” 一定要注意输入你的ip、机器名、域名,总之,你希望以后通过https://xx来访问你的网站的话,此处就要填写xx。否则,会有证书不受信的提示。
tomcat7+jdk的keytool生成证书 配置https的更多相关文章
- 使用jdk中keytool生成证书
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥.私钥和证书 -alias 产生别名 -keystor ...
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...
- 使用jdk的keytool 生成CA证书的方法
一.CA证书生成设置总共分为以下5步: 步骤: 1.根据java的keytool生成CA根证书,放在服务器 2.根据服务器CA根证书导出客户端证书 3.tomcat增加SSL配置 4.客户端IE浏览器 ...
- Tomcat服务器配置https认证(使用keytool生成证书)
一.证书生成 1.生成服务器证书 (1)打开打开命令控制台,进入jdk的bin目录 cd D:\Program Files\jdk1.6.0_45\bin (2)keytool为Tomcat生成证书( ...
- keytool生成证书与Tomcat SSL配置
转自:http://tomhat.iteye.com/blog/2087673 一.Keytool介绍 Keytool是一个Java数据证书的管理工具.Keytool将密钥(key)和证书(certi ...
- Tomcat服务器配置https双向认证(使用keytool生成证书)
一,HTTPS原理 1,HTTP.HTTPS.SSL.TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私 ...
- 生成和配置https证书
最近在做小程序,调用后台接口需要https协议请求,小程序之所以这么要求,也是因为http协议是明文传播文件数据的,出于数据安全考虑,必须使用https协议. http想实现为https 就需要为配置 ...
- 使用JDK的keytool生成Android签名证书
生成证书:keytool -genkey -alias [yourapp] -keyalg RSA -validity 20000 -keystore [yourapp].keystore 输入key ...
- linux tomcat【9.0.12】 使用 ssl证书 配置 https 的具体操作 【使用 域名 】
1.前言 根据上一个随笔,已经可以正式在 阿里云服务器发布 工程了 ,但是用的协议默认是 http ,端口80 但是 http不安全 ,容易被拦截抓包 ,于是出来了个 https tomcat发布 对 ...
随机推荐
- javascript学习(1)用户的Javascript 放在哪里和函数的绑定方式
一.实验 1:js脚本放在那里最合适? 1.代码 1.1.test.html <!DOCTYPE html><html> <head> < ...
- SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)
在SVN版本控制时,新手经常会遇到这样的问题: 1.整个项目一起提交时会把bin . gen . .project 一同提交至服务器 2.避免提交编译.本地配置等文件在项目中单独对src.res进行提 ...
- JAVAFX-5 开发应用
fx 属性与布局 属性与布局是一个具备gui开发能力的开发者,快速进入开发必备的知识储备,下面简单说一说常用的属性,与布局 颜色 颜色 在 javafx.scene.paint.Color 类中提供了 ...
- 模板引擎ejs详解
singsingasong.js: const ejs=require('ejs'); ejs.renderFile('./views/singsingasong.ejs', {'name':'sin ...
- python实现排序算法 时间复杂度、稳定性分析 冒泡排序、选择排序、插入排序、希尔排序
说到排序算法,就不得不提时间复杂度和稳定性! 其实一直对稳定性不是很理解,今天研究python实现排序算法的时候突然有了新的体会,一定要记录下来 稳定性: 稳定性指的是 当排序碰到两个相等数的时候,他 ...
- 前端插件之Bootstrap Switch 选择框开关控制
简介 Bootstrap Switch是一款轻量级插件,可以给选择框设置类似于开关的样式 它是依赖于Bootstrap的一款插件 下载 下载地址 在线引用 导入 因为它是依赖于Bootstrap的一款 ...
- 这次彻底理解了Object这个属性
1.实例化Object对象 实例化Object对象的方式有两种:使用Object构造器和使用对象的字面量.例如: var person1 = { name: '李四' }; var person2 = ...
- hdu1249 三角形分割平面---递推
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1249 题目大意: 用N个三角形最多可以把平面分成几个区域? 思路: 知道了直线和折线分割平面的情况这 ...
- Menu-菜单组件
#menu菜单组件 from tkinter import * master=Tk() def callback(): print('你好咯!!') m = Menu(master) m.add_co ...
- hdu3342-判断有向图中是否存在(至少)3元环或回路-拓扑排序
一:题目大意: 给你一个关系图,判断是否合法, 每个人都有师父和徒弟,可以有很多个: 不合法: 1) . 互为师徒:(有回路) 2) .你的师父是你徒弟的徒弟,或者说你的徒弟是你师父的 ...