Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

https://blog.csdn.net/gary_yan/article/details/77981303spring

 

Https系列会在下面几篇文章中分别做介绍:

一:https的简单介绍及SSL证书的生成 
二:https的SSL证书在服务器端的部署,基于tomcat,spring boot 
三:让服务器同时支持http、https,基于spring boot 
四:https的SSL证书在Android端基于okhttp,Retrofit的使用数据库

全部文章会优先在: 
微信公众号“颜家大少”中发布 
以后才发布到下面博客中: 
颜家大少的博客 :http://blog.csdn.net/gary_yan 
转载请标明出处tomcat


一:本文的主要内容介绍

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里面包含的是公钥,主要给客户端app

3:针对Tomcat服务器的部署

上图中的”下载证书for Tomcat”那个页面有对Tomcat服务器的详细配置 
以下: 
1):在Tomcat的安装目录下建立cert目录,而且将下载的所有文件拷贝到cert目录中测试

2):找到安装Tomcat目录下该文件server.xml,通常默认路径都是在 conf 文件夹中。找到阿里云

keystoreFile="cert/*.pfx" keystoreType="PKCS12" #此处的证书密码,请参考pfx-password.txt中的密码 keystorePass="证书密码"
  • 1
  • 2
  • 3
  • 4

完整的配置以下,其中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"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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
  • 1
  • 2
  • 3
  • 4

四:自签名证书在服务器的配置

其实自签名证书的配置和CA证书的配置同样 
只不过: 
1:把*.pfx换成你以前生成的keystore.p12 
2:把密码换成你以前生成keystore所用的密码,如在上一节中设置的:123456

五:运行服务器测试https

spring boot环境下,除了增长上面的配置外,并不须要增长任何一句代码。 
好吧,重要的时刻来了,运行服务器,输入https网址 
CA证书的以下图,开心吧,你喜欢的绿色的安全标志 :P : 
这里写图片描述

自签证书的以下图,显示不安全呵,但可点“高级”->”继续访问“去访问: 
这里写图片描述
更多内容请看:Https系列之三:让服务器同时支持http、https,基于spring boot

相关文章
相关标签/搜索