Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot
Https系列会在下面几篇文章中分别作介绍:
一:https的简单介绍及SSL证书的生成
二:https的SSL证书在服务器端的部署,基于tomcat,spring boot
三:让服务器同时支持http、https,基于spring boot
四:https的SSL证书在Android端基于okhttp,Retrofit的使用
所有文章会优先在:
微信公众号“颜家大少”中发布
转载请标明出处
一:本文的主要内容介绍
CA证书的下载及相应文件的介绍
CA证书在tomcat的部署
CA证书在spring boot的部署
自签名证书的部署
二:一些内容的回顾
在“Https系列之一:https的简单介绍及SSL证书的生成” 中已介绍的自签名证书和CA证书的生成
其中有提到一个重要文件:keystore文件
回顾一下keystore是干什么的:
keystore可理解为一个数据库,可以存很多个组数据。
每组数据主要包含下面两种数据:
a:密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
b:可信任的证书实体(trusted certificate entries)——只包含公钥
那我们现在要做的就是把keystore文件部署到服务器中就OK了
三:下面我们先说CA证书在服务器端的部署
1:证书的下载
在阿里云生成的针对tomcat服务器CA证书在申请成功后,
只要如下图,选“下载”->”tomcat”->”下载证书for Tomcat”
就能下载相应的tomcat证书文件。
顺便补充一下,在上图中,除了Tomcat外,还可以针对其它的服务器下相应的证书,
如:Nginx,Apache,IIS等,有需要的请自行研究。
下载的文件如下:
2:已下载证书各文件的介绍:
1): .pfx为keystore文件,服务器用的就是这个文件
2): pfx-password.txt里包含有keystore所用到的密码
3): .key里面包含的是私钥,暂时没用到此文件
4): *.pem里面包含的是公钥,主要给客户端
3:针对Tomcat服务器的部署
上图中的”下载证书for Tomcat”那个页面有对Tomcat服务器的详细配置
如下:
1):在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中
2):找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”443” 标签(其中port属性根据实际情况),增加如下属性:
keystoreFile="cert/*.pfx"
keystoreType="PKCS12"
#此处的证书密码,请参考pfx-password.txt中的密码
keystorePass="证书密码"
完整的配置如下,其中port属性根据实际情况修改:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/*.pfx"
keystoreType="PKCS12"
keystorePass="证书密码"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
4:针对spring boot的部署
spring boot因为是内嵌了tomcat的,理论上对tomcat的配置是一样的
只不过spring boot有更简单的配置方法
1): 把*.pfx copy到工程相应的resources下面
2):修改resources\application.properties,增加如下属性
server.port=443
server.ssl.key-store=classpath:*.pfx
server.ssl.key-store-password=证书密码
server.ssl.keyStoreType=PKCS12
四:自签名证书在服务器的配置
其实自签名证书的配置和CA证书的配置一样
只不过:
1:把*.pfx换成你之前生成的keystore.p12
2:把密码换成你之前生成keystore所用的密码,如在上一节中设置的:123456
五:运行服务器测试https
spring boot环境下,除了增加上面的配置外,并不需要增加任何一句代码。
好吧,重要的时刻来了,运行服务器,输入https网址
CA证书的如下图,开心吧,你喜欢的绿色的安全标志 :P :
自签证书的如下图,显示不安全呵,但可点“高级”->”继续访问“去访问:
更多内容请看:Https系列之三:让服务器同时支持http、https,基于spring boot
更多内容,请关注微信公众号:颜家大少
Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot的更多相关文章
- Https系列之一:https的简单介绍及SSL证书的生成
Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...
- Https系列之四:https的SSL证书在Android端基于okhttp,Retrofit的使用
Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...
- (二)、SSL证书
从第一部分HTTPS原理中,我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码.在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似, ...
- 在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持)
在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持) 发布时间: 2015-02-27 00:16 1.spice的USB重定向 1.1 介绍 使用usb重定向,在clie ...
- SSL证书请求文件(CSR)生成指南 - Tomcat
SSL证书请求文件(CSR)生成指南 - Tomcat http://www.zhenssl.com/support/CSRgen/tomcat_CSR.htm 重要注意事项 An Importa ...
- https搭建:ubuntu nginx配置 SSL证书
HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用 ...
- 全民https时代,Let's Encrypt免费SSL证书的申请及使用(Tomcat版)
近几年,在浏览器厂商的强力推动下,HTTPS的使用率大增.据统计,Firefox加载的网页中启用HTTPS的占比为67%,谷歌搜索结果中HTTPS站点占比已达50%,HTTPS网站已获得浏览器和搜索引 ...
- 网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https//环境
对于小程序request请求需要https域名.navigator.geolocation定位也需要在https环境下才可以生效等问题: 前端开发越来越需要https环境来来测试一下API接口和各类问 ...
- 架构师小跟班:SSL证书免费申请及部署,解决页面样式错乱问题完整攻略
申请证书 1.登录阿里云控制台,产品与服务,选择SSL证书 2.进入SSL证书页面,点击“购买证书”,选择免费1年的证书类型,点击“立即购买” 3.返回SSL证书页面,可以看到证书列表里多了一条记录 ...
随机推荐
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- [js高手之路]性能优化技巧 - 缓存与函数重载实战
所谓缓存,通俗点讲就是把已经做过的事情结果先暂时存起来,下次再做同样的事情,不用再重新去做,只要把之前的存的结果拿出来用即可,很明显大大提升了效率.他的应用场景非常广泛.如: 1.缓存ajax结果,大 ...
- 又一流氓推广Microsoft Edge,我勒个去
最新的Windows10 的升级也是醉了,不得不吐槽一个非常流氓的浏览器推广:Microsoft Edge(这小婊砸). 为了将之前的历史包袱IE干掉,这次微软也是蛮拼的,直接把IE从电脑里干掉了,你 ...
- Java反射机制练习
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, Illega ...
- display:inline-block间隙问题
display:inline-block 是让块级元素变成行内元素 在一行显示, 然而不幸的是,它并没有得到所有浏览器的支持,比如ie6.7和古老一点的firefox完全无视它,由于firefox的老 ...
- java 比较几种常见循环方式的优劣
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt224 我们常用for循环,foeach,while等作为循环list或者数组 ...
- 微信录音文件上传到服务器以及amr转化成MP3格式
微信公众号音频接口开发 根据业务需求,我们可能需要将微信录音保存到服务器,而通过微信上传语音接口上传到微信服务器的语音文件的有效期只有3天,所以需要将文件下载到我们自己的服务器. 上传语音接口 wx. ...
- java1.8新特性
转自:http://www.oschina.NET/translate/everything-about-Java-8 建议去看原文,此处转载只是为了记录. 这篇文章是对Java8中即将到来的改进做一 ...
- 团队作业7——Alpha冲刺之事后诸葛亮
Deadline: 2017-5-15 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目内容为事后诸葛亮分析报告 晚交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 ...
- 【Alpha阶段】第六次scrum meeting
一.会议照片 二.会议内容 姓名 学号 负责模块 昨日任务完成度 今日任务 杨爱清 099 界面设计和交互功能 完成 设计界面 杨立鑫 100 数据库搭建和其他 完成 将数据库与其他模块连接 林 钊 ...