转自: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

最新文章

  1. Js函数的概念、作用、创建、调用!
  2. URL处理几个关键的函数parse_url、parse_str与http_build_query
  3. 在eclipse中用gradle搭建MapReduce项目
  4. kernel 内核安装
  5. 【C#】C# 实现发送手机短信
  6. centos7安装tftp服务器
  7. tcpdump命令
  8. js实现鼠标拖拽div-------Day44
  9. Flex移动应用程序开发的技巧和窍门(一)
  10. 在windows8.1下安装ubuntu16.04
  11. java实现红包的分配算法
  12. (整理4)RPC服务和HTTP服务简单说明
  13. 计时 timeit
  14. (2)Jquery1.8.3快速入门_checkbox全选取消部分选中
  15. quartz简单定时任务【可以处理完一个任务才开启下一个线程】【我】
  16. hdu5029 树链剖分 + 线段树
  17. CI、CD和dev-ops概念
  18. Iframe和Frame中实现cookie跨域的方法(转载)
  19. Weblogic在Linux下启动特别慢及进入控制台慢的解决方法
  20. UWP UserControl 不会自适应大小

热门文章

  1. 每天进步一点点out1
  2. 在嵌入式设计中使用MicroBlaze(Vivado版本)(转)
  3. 用servlet实现用户登录案例
  4. ubuntu 实用命令收集
  5. 2018-2019-2 20175224 实验三《敏捷开发与XP实验》实验报告
  6. 实力封装:Unity打包AssetBundle(四)
  7. L262
  8. elasticsearch.in.sh优化内存
  9. python-—计算器
  10. Python 关联关系