使用 Java 的 Keytool 创建 CSR 并在 Tomcat(或其他基于 Java 的)服务器上安装 SSL/TLS 证书

使用这些说明生成证书签名请求 (CSR) 并使用 Java 的 Keytool 在 Tomcat 服务器上安装 SSL/TLS 证书。

重新启动 注意:安装 SSL/TLS 证书并配置服务器以使用它后,您必须重新启动 Tomcat 服务。

  1. 要创建您的证书签名请求 (CSR),请参阅Tomcat 服务器:使用 Java Keytool 创建您的 CSR

  2. 要安装 SSL 证书,请参阅Tomcat 服务器:安装和配置 SSL/TLS 证书

要以西班牙语查看这些说明,请参阅CSR para TomcatTomcat Instalar Certificado SSL

如果您正在寻找一种更简单的方法来创建 CSR,以及安装和管理您的 SSL/TLS 证书,我们建议使用适用于 Windows的 DigiCert ®证书实用程序。您可以使用 DigiCert 实用程序生成 CSR 并准备 SSL/TLS 证书文件以安装在 Tomcat 服务器上。请参阅Tomcat:使用 DigiCert 实用程序创建 CSR 和安装 SSL/TLS 证书

 

一、Tomcat服务器:用Java的Keytool创建你的CSR

使用本节中的说明创建新的密钥库 (.jks) 文件并生成您的 CSR。

 

推荐方法:使用 DigiCert Java Keytool CSR 向导

节省一些时间: 使用DigiCert Java Keytool CSR 向导生成一个 Keytool 命令来创建您的 Tomcat 密钥库和 CSR。

  1. 只需填写表格,单击Generate,然后将您定制的 Java Keytool 命令粘贴到您的终端中。

  2. Java keytool 实用程序会创建您的私钥和证书签名请求,并将它们保存到两个文件中:your_common_name.jks 和 your_common_name.csr。

  3. 然后,您可以复制 CSR 文件的内容并将其粘贴到我们订单中的 CSR 文本框中。

  4. 跳到第 2 步,第 3 部分:保存和备份您的密钥库文件

您是否喜欢更手动的方法来生成 Tomcat 密钥库和 CSR?请按照以下说明进行操作。

 

第 1 步:使用 Keytool 创建新的密钥库

重要提示:我们建议您按照本节中概述的过程生成新的密钥库。将新证书安装到旧密钥库通常会导致安装错误或 SSL/TLS 证书无法正常工作。在开始此过程之前,请备份并删除所有旧密钥库。

  1. 运行命令

    1. 导航到您计划管理密钥库和 SSL/TLS 证书的目录。

    2. 输入下面的命令。

      keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore your_site_name.jks
      

      在上面的命令中,your_site_name应该是您要使用此 SSL/TLS 证书保护的域的名称。订购通配符证书时,请勿在文件名中包含星号 (*)(例如 your_site_name)。星号不是有效的密钥工具字符。

    3. 创建一个密码

      1. 出现提示时,为您的密钥库创建一个密码。

        注意:您将在 Tomcat 配置文件中指定此密码,然后使用它来生成您的 CSR 并导入您的证书。

      2. 将此密码存储在安全的地方,例如受信任且安全的密码管理器。

    4. 输入您的 SSL/TLS 证书信息。

      重要提示:当提示输入名字和姓氏时,请勿输入您的名字和姓氏。相反,键入您使用此证书保护的站点的完全限定域名 (FQDN)(例如www.yourdomain.commail.yourdomain.com)。您要订购通配符证书吗?那么您的 FQDN 必须以星号 (*) 开头。(例如,*.yourdomain.com)。

    5. 输入您的组织信息。

    6. 当系统提示您验证您的信息时,输入yyes进行确认。

    7. 当询问“<server> 的密钥密码”时,按 Enter 键使用您刚刚为密钥库文件创建的密码。

  2. 您的密钥库文件 your_site_name.jks 现在已创建并位于您当前的工作目录中。

第 2 步:从您的新密钥库生成证书签名请求 (CSR)

  1. 运行命令

    1. 在 Keytool 中,键入以下命令:

      keytool -certreq -alias server -file csr.txt -keystore your_site_name.jks
              

      在上面的命令中,your_site_name应该是您在第 1 步中创建的密钥库文件的名称:使用 Keytool 创建新的密钥库或使用DigiCert Java Keytool CSR 向导时。

    2. 出现提示时,输入您之前创建的密码(当您创建新的密钥库时)。

    3. 在您的当前目录中,csr.txt(例如your_site_domain.txt)现在包含您的 CSR。

  2. 保存和备份您的密钥库文件

    1. 记下您的密钥库文件 (your_site_domain.jks) 的路径,因为您的 SSL/TLS 证书稍后将安装到该文件中。

    2. 我们建议您在继续之前创建密钥库文件 (your_site_domain.jks) 的备份副本。备份 Keystore 文件有助于解决证书 SSL/TLS 安装过程中可能出现的问题。

  3. 订购您的 SSL/TLS 证书

    1. 使用文本编辑器打开您创建的 .csr 文件。

    2. 复制文本,包括 -----BEGIN NEW CERTIFICATE REQUEST----- 和 -----END NEW CERTIFICATE REQUEST----- 标签,并将其粘贴到DigiCert 订单中。

    3. 确保在选择服务器软件时选择Tomcat

                     

         安装证书

  1. 从 DigiCert 收到 SSL/TLS 证书后,您可以将其安装在 Tomcat 服务器上。

二、Tomcat 服务器:安装和配置您的 SSL/TLS 证书

需要创建您的证书签名请求 (CSR)?请参阅Tomcat 服务器:使用 Java Keytool 创建您的 CSR

在我们验证并颁发您的 SSL/TLS 证书后,您可以将其安装在您的 Tomcat 服务器(生成 CSR 的位置)上,然后配置服务器以使用该证书。

第 1 步:使用 Java Keytool 将 SSL/TLS 证书安装到密钥库

  1. 下载证书

    1. 登录到您的 DigiCert 帐户。

      https://www.digicert.com/account/login.php

      我的订单选项卡上,单击订单号,然后单击下载

    2. 将 your_domain_com.p7b 证书保存到与 Java 密钥库相同的目录中。

      注意:如果您使用我们的 Keytool CSR 命令生成器或按照我们的说明生成 CSR,则密钥库文件名为your_site_name.jks

  2. 在您的密钥库中安装证书文件

    重要提示:您必须将 SSL/TLS 证书文件安装到用于生成 CSR的相同密钥库和相同别名(例如,“-alias server ”)下。如果您尝试将证书安装到不同的密钥库或使用不同的别名,则导入命令将不起作用。

    1. 运行以下命令将证书导入您的密钥库。

      keytool -import -alias server -file your_site_name.p7b -keystore your_site_name.jks
      

      在上面的命令中,your_site_name.p7b应该是您下载的证书文件的名称,your_site_name.jks应该是您在步骤 1:使用 Keytool 创建新密钥库或使用DigiCert Java Keytool时创建的密钥库文件的名称CSR Wizard ., server应该是您在生成 CSR 时使用的别名。

    2. 您应该得到确认“证书回复已安装在密钥库中”。

    3. 如果系统提示您信任证书,请键入yyes

    4. 此文件的安装会将所有必要的证书加载到您的密钥库中。

  3. 您的密钥库文件 (your_site_name.jks) 现在可以在 Tomcat 服务器上使用。现在,您已准备好配置您的服务器以使用它。

第 2 步:配置您的 SSL/TLS 连接器

在您的 Tomcat 服务器可以接受安全连接之前,您需要配置一个 SSL 连接器。

  1. 使用文本编辑器打开 Tomcat server.xml 文件。

    通常,server.xml 文件位于 Tomcat 主目录的 conf 文件夹中。

  2. 找到您希望新密钥库保护的连接器。

    通常使用端口为 443 或 8443 的连接器;请参见步骤 4。请注意,您可能需要取消注释连接器 - 删除注释标签(<!-- 和 -->)。

  3. 配置 Tomcat 连接器。

    确保在连接器配置中指定新的密钥库文件名和密码。

  4. 完成后,您的连接器应该类似于下面的示例。

    注意:您使用的是 Tomcat 7 之前的 Tomcat 版本吗?然后您需要将keystorePass更改为keypass

    <Connector port="443" maxHttpHeaderSize="8192" maxThreads="100"
               minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               SSLEnabled="true" clientAuth="false"
               sslProtocol="TLS" keyAlias="server"
               keystoreFile="/home/user_name/your_site_name.jks"
               keystorePass="your_keystore_password" />
    

    在上面的连接器配置中,keystoreFile是您的密钥库文件的完整路径,keystorePass是您用于创建密钥库的密码,而keyAlias是您用来生成 CSR 的同一个别名(例如,“server”)。

  5. 保存对 server.xml 文件的更改。

  6. 重新启动 Tomcat 服务。

  7. 恭喜!您已成功安装 SSL 证书。

测试您的 SSL/TLS 证书安装

您的网站可以公开访问吗?然后使用我们的DigiCert ® SSL 安装诊断工具来测试您的 SSL/TLS 证书安装;它检测常见的安装问题。