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

一、本文的主要内容

  • 一些内容的回顾
  • CA证书的下载及相应文件的介绍
  • CA证书在tomcat的部署
  • CA证书在spring boot的部署
  • 自签名证书的部署

二、一些内容的回顾

在“Https系列之一:https的简单介绍及SSL证书的生成” 中已介绍的自签名证书和CA证书的生成 ,其中有提到一个重要文件:keystore文件

回顾一下keystore是干什么的: keystore可理解为一个数据库,可以存很多个组数据。 每组数据主要包含下面两种数据:

  • 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
  • 可信任的证书实体(trusted certificate entries)——只包含公钥
    那我们现在要做的就是把keystore文件部署到服务器中就OK了

三、CA证书在服务器端的部署

  1. 证书的下载
    在阿里云生成的针对tomcat服务器CA证书在申请成功后, 只要如下图,选“下载”->”tomcat”->”下载证书for Tomcat”


    Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot_第1张图片

    Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot_第2张图片

    就能下载相应的tomcat证书文件。
    顺便补充一下,在上图中,除了Tomcat外,还可以针对其它的服务器下相应的证书, 如:Nginx,Apache,IIS等,有需要的请自行研究。 下载的文件如下:


    Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot_第3张图片
  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 文件夹中。找到

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

完整的配置如下,其中port属性根据实际情况修改:


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证书的如下图,开心吧,你喜欢的绿色的安全标志:



自签证书的如下图,显示不安全呵,但可点“高级”->”继续访问“去访问:


Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot_第4张图片

更多内容请看:Https系列之三:让服务器同时支持http、https,基于spring boot

你可能感兴趣的:(Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot)