系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > server > anz > 详细页面

安装JKS格式证书

时间:2020-09-16来源:www.pcxitongcheng.com作者:电脑系统城

前提条件

  • 您的Tomcat服务器上已经开启了443端口(HTTPS服务的默认端口)。
  • 已安装OpenSSL工具。
  • 已下载Tomcat服务器所需要的证书文件。有关证书下载的具体操作,请参见下载证书
    说明
    • 申请证书时如果未选择系统自动创建CSR,证书下载压缩包中将不包含.txt文件。需要您选择其他类型服务器下载.crt证书,并使用openssl命令生成pfx文件。
    • 如果您自己拥有其他证书,可使用openssl命令将您自己的证书文件转化为相应格式的文件,安装到Tomcat服务器上。
  • 已登录您的Tomcat服务器。

背景信息

  • 本文教程以Tomcat 7为例。
  • Tomcat 9强制要求证书别名设置为tomcat。您需要使用以下keytool命令将protocol="HTTP/1.1"转换成protocol="org.apache.coyote.http11.Http11NioProtocol"
    keytool -changealias -keystore domain name.jks -alias alias -destalias tomcat
  • 本文档证书名称以domain name为示例,例如:证书文件名称为domain name.pfx,证书密码文件名称为pfx-password.txt。

操作步骤

  1. 解压已下载保存到本地的Tomcat证书文件。
    解压后您将看到文件夹中有2个文件,您可为两个证书文件重命名。
    • 证书文件(domain name.pfx):以.pfx为后缀或文件类型。
    • 密码文件(pfx-password.txt):以.txt为后缀或文件类型。
    证书文件
    说明 每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。
  2. 将PFX格式的证书转换成JKS格式。
    1. 输入以下JAVA JDK命令:
      keytool -importkeystore -srckeystore domain name.pfx -destkeystore domain name.jks -srcstoretype PKCS12 -deststoretype JKS

      说明 Windows系统中,需在%JAVA_HOME%/jdk/bin目录下执行该命令。
    2. 回车后输入PFX证书密码,即密码文件pfx-password.txt中的内容。
      说明 JKS证书密码等同于PFX证书密码。两个密码不同的时候会导致Tomcat重启失败。
  3. 在Tomcat安装目录下新建cert目录,将转化后的证书文件和密码文件拷贝到cert目录下 。
  4. 修改配置文件server.xml,并保存。
    文件路径:Tomcat安装目录/conf/server.xml
    1. 去掉以下内容的注释:
      <Connector  port="8443"
      protocol="HTTP/1.1"
        port="8443" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS" />
    2. 参照以下内容修改<Connector port="443"标签内容:
      <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="证书密码"   #此处请替换为您证书密码文件pfx-password.txt中的内容。
          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"/>
  5. 可选: 配置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 >SSL</web-resource-name>  
            <url-pattern>/*</url-pattern>  
        </web-resource-collection>  
        <user-data-constraint>  
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
        </user-data-constraint>  
    </security-constraint>
  6. 重启Tomcat。
    1. 执行以下命令关闭Tomcat服务器。
      ./shutdown.sh
    2. 执行以下命令开启Tomcat服务器。
      ./startup.sh

后续操作

证书安装完成后,可通过登录证书绑定域名的方式验证证书是否安装成功。
https://domain name.com   #domain name替换成证书绑定的域名。

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

验证证书是否安装成功时,如果网站无法通过https正常访问,需确认您安装证书的服务器443端口是否已开启或被其他工具拦截。

分享到:

相关信息

  • Nginx主机域名配置实现

    一、配置多个端口访问不同文件 二、配置不同域名访问不同文件 三、配置不同域名访问同个文件...

    2023-03-17

  • Nginx配置-日志格式配置方式

    上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下,将每一次的请求的访问响应时间记录出来,备查与优化使用....

    2023-03-17

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载