转自:http://blog.csdn.net/huangxinyu_it/article/details/41693633

有关http与https的区别请看《浅谈http与https的区别(转)》

目前我们看到的很多网站采用的都是http协议,信息是明文传输的,很容易被黑客或是有恶意行为的人截获,所以对于安全系数比较高的系统(如:银行等)不能直接采用http协议,需要采用https协议。使用https协议需要购买ca认证,本示例我们采用jdk自带的keytool工具生成证书,但是实际项目中需要从证书提供商购买。

一、生成证书

1、从命令行窗口进入到jdk安装目录下的bin中,如我本机:C:/Program Files/Java/jdk1.7.0_45/bin,使用如下命令:

keytool -genkey -alias tomcat -keyalg RSA -keystore d:/mykey/tomcat.keystore

说明:-alias tomcat 是表示生成的这个证书的别名叫tomcat;-keyalg RSA 指的是采用的RSA算法;-keystore d:/mykey/tomcat.keystore是指证书生成后保存到d:/mykey/tomcat.keystore

2、将.store文件导入到证书中

 keytool -export -file d:/mykey/tomcat.crt -alias tomcat -keystore d:/mykey/tomcat.keystore

将d:/mykey/tomcat.keystore导入到d:/mykey/tomcat.crt证书中

3、将证书tomcat.crt导入到JVM中

keytool -import -keystore ../jre/lib/security/cacerts -file D:/mykey/tomcat.crt -alias tomcat

将tomcat.crt导入到C:/Program Files/Java/jdk1.7.0_45/jre/lib/security/cacerts

二、tomcat配置https

在tomcat下找到/conf/server.xml,默认tomcat是没有打开https的,找到如下代码:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />

打开注释,修改成:

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="d:/mykey/tomcat.keystore" keystorePass="changeit" maxThreads="150" port="443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>

端口号改成https的默认端口号:443,keystoreFile证书所在位置,keystorePass证书密码

三、配置域名

http://www.luoshengsha.com本来就是可以访问的域名,但是此例中我们用它测试证书,所以不能让他访问真实的服务器,我们应该让他访问到本机,只有这样我们安装到本地JVM的证书才有效,方法如下:

打开C:WindowsSystem32driversetchosts,拉到最下面添加:

127.0.0.1 www.luoshengsha.com

四、启动tomcat

所有的配置都已完成,现在就让我们来启动tomcat吧。

输入:https://www.luoshengsha.com,会提示你该网站的安全证书不受信任,没错,这就是为什么让你到证书提供商购买的原因。

不用管它,点击仍然继续,出现如下信息:

至此,tomcat配置https就已完工!!!!

删除证书的命令:

keytool -delete -alias tomcat -keystore ../jre/lib/security/cacerts -storepass changeit   

本文出自 luoshengsha.com,欢迎转载,转载时请注明出处及相应链接。

本文永久链接: http://www.luoshengsha.com/416.html

tomcat配置https–采用JDK自带的keytool工具生成证书的更多相关文章

  1. 使用JDK自带的keytool工具生成证书

    一.keytool 简介 keytool 是java用于管理密钥和证书的工具,它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及 ...

  2. Tomcat配置https之 JDK SSL证书生成与验证

    关于证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发. ...

  3. 用keytool制作证书并在tomcat配置https服务(一)

    https分为单项认证和双向认证. 一般https页面上的访问都是单项认证,服务端发送数字证书给客户端,客户单方面验证.而服务端不做验证. 而双向认证,需要双方都有证书,然后发送给对方进行验证.一般用 ...

  4. 用keytool制作证书并在tomcat配置https服务(三)

    用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(四) 模 ...

  5. tomcat配置https方法

    利用tomcat服务器配置https双向认证 步骤 1.为服务器生成证书进入控制台,切换到%JAVA_HOME%/bin目录,具体操作略. 使用keytool为Tomcat生成证书,假定目标机器的域名 ...

  6. 用keytool制作证书并在tomcat配置https服务(二 )

    用keytool制作证书并在tomcat配置https服务(一) 双向认证: 我们上边生成了服务端证书,并发送给客户端进行了验证. 双向认证是双向的,因此还差客户端证书. 1.为方便导入浏览器,生成p ...

  7. 用keytool制作证书并在tomcat配置https服务(四)

    用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(三) 上 ...

  8. Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置

    Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置 ============================== ©Copyright 蕃薯耀 2017 ...

  9. Tomcat 配置 HTTPS双向认证

    Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...

随机推荐

  1. Linux c++ time different

    下面这个函数可以得到微秒级别: #include<time.h> int clock_gettime(clockid_t clk_id,struct timespec *tp); 函数&q ...

  2. CAD绘制室外平台步骤5.3

    1.在平面上用直线划出台阶范围. “工具”“曲线工具”“线变复线”选择这几条线,它们就变成了一条线. “三维建模”“造型对象”“平板”选择这条封闭的线,回车,选择相邻门窗柱子等,回车输入平台厚度如“- ...

  3. leetcode ----ARRAY TWOSUM

    代码的(判断nums[i]或者是target-nums[i]都可以):

  4. node 慕课笔记

    global global.testVar2 = 200; 在别的文件中可以任意调用到 因为global是全局变量相当于js的window一样的

  5. Myeclipse代码格式化

    Shift+Ctrl+F 别和搜狗输入法冲突,把搜狗输入法的设置取消掉. 当然,还可以设置,自动格式化: 步骤:

  6. jq demo—图片翻页展示效果 animate()动画

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. MyEclipse使用教程:使用REST Web Services管理JPA实体

    MyEclipse 在线订购专享特惠!火爆开抢>> MyEclipse最新版下载 使用REST Web Services来管理JPA实体.在逆向工程数据库表后生成REST Web服务,下面 ...

  8. Class file collision

    ecplise报错,提示:Class file collision (类文件冲突) 原因是:文件保存(编译)后,生成了class文件起了冲突,windows 系统认为Test.class 和test. ...

  9. js中的变量作用域问题

    变量既可以是全局的,也可以是局部的. 全局变量可以在脚本的任何位置被引用.一旦你在脚本里声明了一个全局变量,就可以从这个脚本中的任何位置——包括函数内部引用它.全局变量的作用域是整个脚本. 局部变量只 ...

  10. Java语法基础学习DayFour

    一.面向对象 1.特点: A:是一种更符合我们思考习惯的思想B:把复杂的事情简单化C:让我们从执行者变成了指挥者 2.使用: a:创建对象格式类名 对象名 = new 类名();b:如何使用成员变量和 ...