---
schema_version: "1"
id: ab86eed81ce8ef5651435508f0fded48344619914d8b774e508caeba8b0e1b9d
title: 示例：SSL 证书 - 生成密钥和 CSR
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/server/ssl_cert_create.md
canonical_url: https://help.tableau.com/current/server/zh-cn/ssl_cert_create.htm
source_site: help.tableau.com
content_type: documentation
content_hash: a011f9d0f0710c4b13979f1b6d871595eae87512755994a6eea664f743a05100
description: Generate an SSL key and certificate signing request for Tableau Server.
---
[跳转到主要内容](#main-content)

# 示例：SSL 证书 - 生成密钥和 CSR

重要信息：此示例旨在为具有 SSL 要求和配置经验的 IT 专业人员提供一般指引。本文中描述的过程只是您可用于生成所需文件的许多可用方法之一。应将此处描述的过程视为一个示例，而不是建议。

* * *

将 Tableau Server 配置为使用安全套接字层 (SSL) 加密时，将可帮助确保对服务器的访问是安全的，并且在 Tableau Server 和 Tableau Desktop 之间发送的数据受到保护。

期望使用 Linux 版 Tableau Server？请参阅[示例：SSL 证书 - 生成密钥和 CSR](https://help.tableau.com/current/server-linux/zh-cn/ssl_cert_create.htm "在新浏览器选项卡中打开主题")。

Tableau Server 使用 Apache，其中包括了 [OpenSSL](http://www.openssl.org/)。您可以使用 OpenSSL 工具包来生成密钥文件和随后可用于获取签名 SSL 证书的证书签名请求 (CSR)。

Tableau Server 版本 2022.1.17、2022.3.9、2023.1.5 至 2025.1.x，运行 OpenSSL 3.1。

**重要信息：**从版本 2025.2 (Tableau Desktop)、2025.3 (Tableau Server) 和 2025 年 6 月版 (Tableau Cloud) 开始，Tableau 使用 OpenSSL 3.4.x 和 2 级安全性。2 级安全性需要 2048 位或更长的密钥。任何现有的 1 级安全密钥将不再有效，您将需要生成和部署新的密钥对。如果您已按照建议生成至少 2048 位长度的密钥，则无需进行操作。有关详细信息， 请参见[生成密钥](#generate-key)。

## 生成密钥和 CSR 的步骤

若要将 Tableau Server 配置为使用 SSL，您必须有 SSL 证书。若要获取 SSL 证书，请完成以下步骤：

1. [设置 OpenSSL 配置环境变量（可选）。](#Set)
2. [生成密钥文件](#generate-key)。
3. [创建证书签名请求 (CSR)](#generate-csr)。
4. [将 CSR 发送给证书颁发机构 (CA) 以获取 SSL 证书](#send-csr)。
5. [使用密钥和证书将 Tableau Server 配置为使用 SSL](#config-server)。

您可以在 Apache Software Foundation 网站的 [SSL 常见问题页面](http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#realcert)上找到其他信息。

### 针对多个域名配置证书

Tableau Server 允许为多个域使用 SSL。若要设置此环境，您需要修改 OpenSSL 配置文件 openssl.conf，并在 Tableau Server 上配置使用者备用名称 (SAN) 证书。请参见下面的[适用于 SAN 证书：修改 OpenSSL 配置文件](#san-certs)。

### 设置 OpenSSL 配置环境变量（可选）

为了避免在每次使用 openssl.exe 时都使用 `-config` 参数，您可以使用 `OPENSSL_CONF` 环境变量来确保使用正确的配置文件，并且在本文后面的过程中进行的所有配置更改均生成预期结果（例如，您必须设置环境变量来向证书中添加 SAN）。

以管理员身份打开命令提示符，并运行以下命令：

`set OPENSSL_CONF=c:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf\openssl.cnf`

**注意：**在设置 Open SSL 配置环境变量时，请不要将文件路径括在引号内。

### 生成密钥

生成一个将用于生成证书签名请求的密钥文件。

1. 以管理员身份打开命令提示符，并导航到 Tableau Server 的 **Apache** 目录。例如，运行以下命令：
    
    `cd C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\bin`
2. 运行以下命令以创建密钥文件：
    
    `openssl.exe genrsa -out <yourcertname>.key 4096`
    
    **注意：**
    
    - 此命令为密钥使用 4096 位长度。您应选择至少 2048 位的位长度，因为使用较短位长度加密的通信不够安全。如果未提供值，则使用 512 位。
    - 若要使用 Tableau Server 版本 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本创建 PKCS#1 RSA 密钥，在运行基于 OpenSSL 3.1 的 `openssl genrsa` 命令时，您必须使用附加选项 `-traditional`。有关该选项的详细信息，请参见 [https://www.openssl.org/docs/man3.1/man1/openssl-rsa.html](https://www.openssl.org/docs/man3.1/man1/openssl-rsa.html)。

### 创建证书签名请求以发送到证书颁发机构

使用您在上面过程中创建的密钥文件来生成证书签名请求 (CSR)。您将 CSR 发送到证书颁发机构 (CA) 来获取签名的证书。

**重要信息：**如果要配置 SAN 证书以便为多个域使用 SSL，请首先完成下面的[适用于 SAN 证书：修改 OpenSSL 配置文件](#san-certs)中的步骤，然后返回到此处来生成 CSR。

1. 运行以下命令以创建证书签名请求 (CSR) 文件：
    
    `openssl.exe req -new -key yourcertname.key -out yourcertname.csr`
    
    如果未设置 OpenSSL 配置环境变量 `OPENSSL_CONF`，您可能会看到以下任一消息：
    
    - 有关配置信息无法加载的错误消息。在这种情况下，请使用以下参数重新键入上面的命令：`-config ..\conf\openssl.cnf`。
    - 有关找不到 `/usr/local/ssl` 目录的警告。此目录在 Windows 上不存在，只需忽略此消息即可。文件已成功创建。
    
    若要设置 OpenSSL 配置环境变量，请参见本文中的[设置 OpenSSL 配置环境变量（可选）](#Set)部分。
2. 出现提示时，输入所需的信息。
    
    **注意：** 对于**“公用名称”**，键入 Tableau Server 名称。Tableau Server 名称是将用于访问 Tableau Server 的 URL。举例来说，如果通过在浏览器的地址栏中键入 `tableau.example.com` 来访问 Tableau Server，则 `tableau.example.com` 是公用名称。如果公用名称未解析为服务器名称，则在浏览器或 Tableau Desktop 尝试连接到 Tableau Server 时将发生错误。

### 将 CSR 发送到证书颁发机构以获取 SSL 证书

将 CSR 发送到商业证书颁发机构 (CA) 以申请数字证书。有关信息，请参见 Wikipedia 文章[证书颁发机构](http://en.wikipedia.org/wiki/Certificate_authority)，以及可帮助您决定要使用的 CA 的任何相关文章。

### 使用密钥和证书来配置 Tableau Server

如果您同时有 CA 提供的密钥和证书，则可以将 Tableau Server 配置为使用 SSL。有关步骤，请参见[配置外部 SSL](https://help.tableau.com/current/server/zh-cn/ssl_config.htm)。

## 适用于 SAN 证书：修改 OpenSSL 配置文件

在 OpenSSL 的标准安装中，某些功能默认情况下未启用。若要将 SSL 用于多个域名，请在生成 CSR 之前完成这些步骤以修改 **openssl.cnf** 文件。

1. 打开 Windows 资源管理器，并浏览到 Tableau Server 的 Apache **conf** 文件夹。
    
    例如：`C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf`
2. 在文本编辑器中打开 **openssl.cnf**，并查找以下行：`req_extensions = v3_req`
    
    此行可能已使用行开头的井号 (#) 被注释掉。
    
    ![该代码演示了如何设置要添加到证书请求的扩展程序。](/tableau/current/zh-cn/server/zh-cn/Img/creating-ssl-cert-and-key1.png)
    
    如果该行被注释掉，请通过从行开头移除 **#** 和**空格**字符来取消注释。
3. 移动到文件的 **\[ v3\_req \]** 部分。前面几行包含以下文本：
    
    `# Extensions to add to a certificate request   basicConstraints = CA:FALSE   keyUsage = nonRepudiation, digitalSignature, keyEncipherment`
    
    在 **keyUsage** 行后面，插入以下行：
    
    `subjectAltName = @alt_names`
    
    如果要创建自签名 SAN 证书，请执行以下操作以提供用于为证书签名的证书权限：
    
    1. 向 **keyUsage** 行中添加 `cRLSign` 和 `keyCertSign`，使其看起来如下所示：`keyUsage = nonRepudiation, digitalSignature, keyEncipherment, cRLSign, keyCertSign`
    2. 在 **keyUsage** 行后面，添加以下行：`subjectAltName = @alt_names`
4. 在 **\[alt\_names\]** 部分，提供要用于 SSL 的域名。
    
    `DNS.1 = [domain1]   DNS.2 = [domain2]   DNS.3 = [etc]`
    
    下图以突出显示方式显示结果，包含您将替换为域名的占位符文本。
    
    ![](/tableau/current/zh-cn/server/zh-cn/Img/creating-ssl-cert-and-key2.png)
5. 保存并关闭该文件。
6. 完成上面[创建证书签名请求以发送到证书颁发机构](#generate-csr)部分中的步骤。

## 其他信息

如果您更希望使用其他版本的 OpenSSL，您可以从 [Open SSL for Windows](http://gnuwin32.sourceforge.net/packages/openssl.htm) 下载该版本。