阿里云数字证书管理服务支持下载证书安装到Tomcat服务器上。Tomcat服务器支持安装PFX格式和JKS两种格式的证书,您可以根据Tomcat服务器版本选择要下载的证书格式。本文介绍了安装JKS格式证书的具体步骤。

背景信息

如果您拥有其他格式的证书,可使用OpenSSL工具将您的证书文件转化为JKS格式。转化证书格式的具体操作,请参见如何转换证书格式?

前提条件

  • 已登录您的Tomcat服务器。您的Tomcat服务器需满足以下条件:
    • 已开启443端口(HTTPS服务的默认端口)。
    • 已安装OpenSSL工具。如果未安装OpenSSL工具,请访问OpenSSL官网,下载并安装OpenSSL工具。
  • 已在数字证书管理服务控制台下载JKS格式的证书。具体操作,请参见下载证书到本地

操作步骤

本文以将JKS格式证书安装在Linux操作系统中的Tomcat 7为例介绍安装证书的具体步骤。

  1. 解压已保存到本地的JKS证书文件。
    解压后您将看到文件夹中有以下文件:
    • 证书文件(domain_name.jks
      说明 本文中证书名称以domain_name为示例。
    • 密码文件(jks-password.txt
    说明
    • 如果您在提交证书申请时,未将CSR生成方式设置为系统生成,则您下载的证书压缩包中不包含TXT密码文件。您在数字证书管理服务控制台下载证书时必须选择其他类型服务器,下载CRT格式的证书,并使用OpenSSL工具生成JKS格式的证书文件。
    • 每次下载证书都会产生新的密码文件。该密码文件仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码文件。
  2. Tomcat安装目录下新建cert目录,将证书文件和密码文件拷贝到cert目录下 。
  3. 参考以下步骤修改配置文件server.xml
    1. 访问Tomcat安装目录/conf/server.xml目录,打开server.xml文件。
    2. 去掉server.xml中以下内容前的注释,即该内容前的井号(#)。
      <Connector  port="8443"
      protocol="HTTP/1.1"
        port="8443" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS" />
    3. 参照以下内容修改server.xml文件。
      <Connector port="443"   #port属性根据实际情况修改(HTTPS默认端口为443)。如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的网站。
          protocol="HTTP/1.1"
          SSLEnabled="true"
          scheme="https"
          secure="true"
          keystoreFile="Tomcat安装目录/cert/domain_name.jks" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain_name。
          keystorePass="证书密码"   #此处请替换为您证书密码文件jks-password.txt中的内容。
          clientAuth="false"
          SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
          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. 保存server.xml文件。
  4. 可选:配置web.xml文件,开启HTTP强制跳转HTTPS。
    在文件</welcome-file-list>后添加以下内容:
    <login-config>  
        <!-- Authorization setting for SSL -->  
        <auth-method>CLIENT-CERT</auth-method>  
        <realm-name>Client Cert Users-only Area</realm-name>  
    </login-config>  
    <security-constraint>  
        <!-- Authorization setting for SSL -->  
        <web-resource-collection >  
            <web-resource-name>项目名称</web-resource-name> #请将该参数替换为您的项目名称。
            <url-pattern>/*</url-pattern>  
        </web-resource-collection>  
        <user-data-constraint>  
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
        </user-data-constraint>  
    </security-constraint>
  5. 重启Tomcat服务。
    1. 执行以下命令,关闭Tomcat服务:
      ./shutdown.sh
    2. 执行以下命令,开启Tomcat服务:
      ./startup.sh

后续操作

证书安装完成后,您可以通过访问证书绑定域名的方式验证证书是否安装成功:
https://domain_name   #请将domain_name替换成证书绑定的域名。
  • 如果网页地址栏出现小锁标志,表示证书已安装成功。
  • 如果无法通过HTTPS正常访问网站,请确认您安装证书的服务器的443端口是否已开启。