文档

在Spring Boot应用安装SSL证书

更新时间:

本文介绍如何在Spring Boot应用中配置SSL证书,具体包括下载和上传证书文件,在Spring Boot应用配置证书文件、证书链和证书密码等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Spring Boot应用,确保数据传输的安全性。

前提条件

  • 已通过数字证书管理服务控制台签发证书。具体操作,请参见购买SSL证书提交证书申请

  • SSL证书绑定的域名已完成DNS解析,即您的域名与主机IP地址相互映射。您可以通过DNS验证证书工具,检测域名DNS解析是否生效。具体操作,请参见DNS验证

  • 已在Web服务器开放443端口(HTTPS通信的标准端口)。

    如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。具体操作,请参见添加安全组规则

说明

如果您证书的加密算法为SM2(国密算法),该证书无法配置在Spring Boot上。您需要吊销该证书并重新申请加密算法为RSA或ECC的证书。关于吊销证书和申请证书的操作,请参见吊销SSL证书提交证书申请

步骤一:下载SSL证书

  1. 登录数字证书管理服务控制台

  2. 在左侧导航栏,选择证书管理 > SSL证书管理

  3. SSL 证书页面,定位到目标证书,在操作列,单击下载

  4. 服务器类型为JKS的操作列,单击下载

    说明

    Spring Boot支持配置PFX和JKS格式的证书,本文以JKS格式证书为例介绍。如果您需要配置PFX格式的证书,请下载对应格式的证书。

    image.png

  5. 解压缩已下载的SSL证书压缩包。

    根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。CSR

    CSR生成方式

    证书压缩包包含的文件

    系统生成选择已有的CSR

    • 证书文件(JKS格式):默认以证书ID_证书绑定域名命名。

    • 密码文件(TXT格式):默认以证书格式-password命名

      重要

      每次下载证书时都会产生新的密码,该密码仅匹配本次下载的证书文件。

    手动填写

    • 如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。

    • 如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换

步骤二:在Spring Boot安装SSL证书

  1. 将解压后的证书文件和密码文件上传到Spring Boot项目的根目录src/main/resources/

    说明

    如果您修改过Spring Boot项目的目录,您需要将证书文件和密码文件拷贝到与配置文件application.propertiesapplication.yml相同的目录下。

    您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服务器 ECS,上传文件具体操作,请参见上传或下载文件(Windows)上传文件到Linux云服务器

  2. 按照以下示例和说明配置application.propertiesapplication.yml文件。

    • application.properties

      server.port = 443    #HTTPS协议默认端口号为443,需要使用其他端口时,您可以在此处自定义。
      server.ssl.key-store = classpath:domain_name.jks   #您需要使用实际的证书名称替换domain_name.jks。
      server.ssl.key-store-password = ********    #填写jks-password.txt文件内的密码。
      server.ssl.keyStoreType = JKS #JKS格式证书密钥库类型。PFX格式的证书密钥库类型为PKCS12。
    • application.yml

      server:
        port: 443    #HTTPS协议默认端口号为443,需要使用其他端口时,您可以在此处自定义。
        ssl:
          key-store-password: ********    #填写jks-password.txt文件内的密码。
          key-store-type: JKS #JKS格式证书密钥库类型。PFX格式的证书密钥库类型为PKCS12。
          key-store: classpath:domain_name.jks   #您需要使用实际的证书名称替换domain_name.jks。
  3. 进入Spring Boot项目根目录,执行以下命令重启Spring Boot项目。

    • Maven

      mvn spring-boot:run
    • Gradle

      gradle bootrun

步骤三:验证SSL证书是否安装成功

证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。

https://yourdomain   #需要将yourdomain替换成证书绑定的域名。

如果网页地址栏出现小锁标志,表示证书已经安装成功。

相关文档

如何解决SSL证书部署后未生效或网站显示不安全