zoukankan      html  css  js  c++  java
  • Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

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

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

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

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


    一:本文的主要内容介绍

    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 文件夹中。找到

    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):修改resourcesapplication.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

  • 相关阅读:
    一行代码搞定Dubbo接口调用
    测试周期内测试进度报告规范
    jq 一个强悍的json格式化查看工具
    浅析Docker容器的应用场景
    HDU 4432 Sum of divisors (水题,进制转换)
    HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
    CodeForces 589B Layer Cake (暴力)
    CodeForces 589J Cleaner Robot (DFS,或BFS)
    CodeForces 589I Lottery (暴力,水题)
    CodeForces 589D Boulevard (数学,相遇)
  • 原文地址:https://www.cnblogs.com/yaowen/p/9235888.html
Copyright © 2011-2022 走看看