bg-tutorials

如何在 Ivanti Connect Secure(Pulse Secure)上生成 CSR

本指南将向您展示如何在 Ivanti Connect Secure生成 CSR(证书签名请求),该 SSL VPN 设备多年来一直以 Pulse Secure 之名出售。您需要在管理控制台中的 System > Configuration > Certificates > Device Certificates 下创建请求,填写您的组织信息,然后将编码后的请求复制到您的证书订单中。设备会同时生成对应的私钥并保存在设备本地,因此签发的证书必须返回到同一台设备上,导入到同一个待处理请求中。

关于名称的说明,因为两者目前仍在使用中。该产品最初是 Juniper Networks 的 Junos Pulse。2014 年,Siris Capital 从 Juniper 收购了这项业务并成立了 Pulse Secure,随后在 2020 年 12 月 1 日,Ivanti 收购了 Pulse Secure 并对该系列产品重新命名:Pulse Connect Secure 变为 Ivanti Connect SecurePulse Policy Secure 变为 Ivanti Policy Secure,而大多数人称之为 Pulse Secure 的桌面应用现在则是 Ivanti Secure Access Client。就本任务而言,只有品牌名称发生了变化。菜单路径、按钮名称以及下方的表单,均以 Ivanti 针对当前 25.1 版本所记录的内容为准,而这些内容在仍显示 Pulse 品牌的较旧的 22.x 和 9.1 版本中也是相同的。

在 Ivanti Connect Secure(Pulse Secure)上生成 CSR

如果您已经生成了 CSR 并从 CA 收到了签发的文件,请跳过本节,直接前往如何在 Ivanti Connect Secure 上安装 SSL 证书。否则,请按照以下四个步骤操作。开始之前,请先确定用户访问 VPN 时输入的确切主机名,因为这就是证书必须承载的名称。

步骤 1:打开 Device Certificates 页面

  1. 登录到您的 Ivanti Connect Secure 设备的管理控制台。
  2. 选择 System > Configuration > Certificates > Device Certificates
  3. 设备上已有的证书会列在页面顶部的 Certificate issued to 下。滚动跳过该列表,找到位于 Certificate Signing Requests 表格上方的 New CSR 按钮,然后点击它。请求表单将会打开。

步骤 2:填写请求者信息

您在此处输入的所有内容都会进入请求,其中大部分内容还会进入签发的证书。请完整拼写所有值,不要使用缩写。

  • Common Name:证书必须保护的完全限定域名,例如 vpn.yourcompany.com。这必须是用户在浏览器或 Ivanti Secure Access Client 中实际输入的名称,而不是设备的内部主机名。对于通配符证书,请在域名前加上星号,例如 *.yourcompany.com
  • Organization Name:贵公司注册的完整法定名称,例如 Your Company LLC。域名验证(DV)证书会忽略该字段,但组织验证(OV)和扩展验证(EV)证书会根据公司注册记录进行核查,因此使用简称或商用名会导致您的订单被搁置。
  • Org. Unit Name:留空。自 2022 年 9 月 1 日起,CA/浏览器论坛基线要求已禁止公共 CA 在签发的证书中包含组织单位信息,因此您在此处输入的任何内容都会被丢弃。
  • Locality:贵公司注册所在的城市,完整拼写,例如 San Jose。这是您的注册地址,而非设备实际所在的机房位置。
  • State(需完整拼写):该注册地址所在的州或省,需完整拼写,例如 California,而不是 CA。
  • Country(2 位字母代码):两位字母的 ISO 国家代码,例如 US
  • Email Address:联系邮箱地址。公共 CA 是通过您订单中的联系方式来进行验证的,而非通过此字段,因此它并不决定谁会收到审批邮件。

注意撇号问题。Ivanti 文档说明,这些字段中的撇号必须用反斜杠转义,因此注册名为 Children’s Trust 的公司应输入为 Children’s Trust。若忽略这一点,请求要么无法生成,要么返回时名称会出现乱码。

步骤 3:选择密钥类型和长度

在请求者字段下方,表单会询问密钥对应如何生成。此处会出现三个设置项,其中前两项决定您的 CA 是否会接受该请求,因此请勿跳过。

  • Key Type:除非有特定理由需要更改,否则请保持为 RSA。选择 ECC 会弹出一个 ECC Curve 菜单:Ivanti 自己的示例创建了一个 P-256 请求,其 Suite B 指南涵盖 P-256、P-384 和 P-521。选择该项时有两个附带条件:Ivanti 文档说明 ECC 证书仅在 ISA 系列网关和虚拟设备平台上受支持,而且一旦 ECC 证书被绑定到某个网络端口,只有支持 ECC 密码套件的客户端才能通过该端口连接。使用 RSA 可以避免这两个问题。
  • Key Length:至少选择 2048,这是公共 CA 会签发的最小 RSA 密钥长度。菜单中仍然列出了 1024,因此请务必更改它。如果您的策略要求更大的密钥,3072 或 4096 也是可以的。当前的 Ivanti Connect Secure 版本文档说明设备证书密钥最高支持 8192 位,但较旧版本的文档说明上限为 3072 位,因此请在计划使用大密钥之前先确认您的版本所支持的范围。
  • Random Data:在此框中输入一长串随机字符。设备在生成密钥时会将您输入的内容混入其随机数生成器中。此处无需记住任何内容,也不必记录下来。

有一点版本说明值得了解。从 25.1.0.0 版本起,Ivanti Connect Secure 不再接受数字签名中使用 SHA-1,仅持有 SHA-1 签名设备证书的设备将无法启动其用户界面。公共 CA 自 2016 年初起就已停止签发 SHA-1 证书,因此今天从公共 CA 订购的证书不会受此影响。若您是向内部或旧版 CA 提交请求,则需要注意这一点:请确保其使用 SHA-256 或更高级别的算法进行签名。

步骤 4:创建请求

提交前请再次核对每个字段,然后点击 Create CSR。设备将生成该请求,同时生成与之对应的私钥。密钥保留在设备上,不会显示给您,也不会发送给 CA。

下一个屏幕将确认请求已创建。向下滚动,您将看到编码后的请求内容本身,可供复制或保存到文件。

复制 CSR 并发送给您的 CA

屏幕上的代码块看起来是这样的:

-----BEGIN CERTIFICATE REQUEST-----
MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx
... (many lines of base64) ...
-----END CERTIFICATE REQUEST-----

选中整个内容,包括 -----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST----- 这两行。每个标记两侧各有五个连字符。请注意其中的 REQUEST 一词:证书签名请求不是以 BEGIN CERTIFICATE 作为分隔标记的,粘贴较短的标记是订单表单拒绝该请求的常见原因。将该代码块粘贴到 Notepad 或 TextEdit 等纯文本编辑器中,然后再粘贴到订单表单上的 CSR 框中。请勿使用文字处理软件,因为它可能会替换字符并破坏编码。

完成后点击 Back to Device Certificates。您的请求现在会以 Pending CSR 链接的形式出现在 Certificate Signing Requests 下,您可以随时重新打开它以再次复制文本内容。

在等待期间,有两件事需要避免:

  • 不要删除待处理的 CSR。Ivanti 明确说明了这样做的后果:删除该请求会连同其私钥一并删除,届时您将无法安装由该请求签发的证书。一旦发生这种情况,唯一的解决方案就是重新生成 CSR 并重新签发证书。
  • 不要在同一时间向 CA 发送多个 CSR。Ivanti 警告称,这样做可能导致重复扣费。

如果订单表单询问证书用于哪种 Web 服务器,请选择 Apache,若列出了多个 Apache 选项,则任选其一即可。如果询问证书格式,请选择标准格式。这两项都是 Ivanti 官方针对该设备给出的建议。

提交前检查 CSR

Common Name 中的一个拼写错误就意味着 CA 签发的证书将无法被用户使用,而重新签发又需要您再进行一轮验证,从而产生额外费用。将请求内容粘贴到我们的CSR 解码器中并仔细核对:Common Name 应与用户输入的主机名完全一致,组织信息也应与您的注册信息相符。如果有任何问题,请在设备上创建一个新的 CSR。切勿编辑编码后的文本,因为该请求是由其自身的私钥签名的,任何更改都会使其失效。

如果您的工作站上安装了 OpenSSL,可以将请求保存到文件中,并在本地运行相同的检查:

openssl req -noout -text -verify -in vpn.csr

它会打印出主题信息、密钥大小,以及一行确认该请求与其自身密钥验证成功的信息。

当内置表单不足以满足需求时

New CSR 表单只要求填写单一的 Common Name,且没有用于添加其他主机名的字段,因此它无法构建多域名(SAN)证书的请求。如果一张证书需要覆盖多个不同的名称,例如 vpn.yourcompany.comportal.yourcompany.com,则需要在设备之外生成请求,事后再将证书与其密钥一并导入。通配符证书不需要这样做:只需将通配符作为 Common Name 输入,内置表单即可处理。

我们的CSR 生成器可以通过单个表单构建 SAN 请求。如果您更喜欢在任意机器上使用 OpenSSL,以下命令可以同时生成请求和密钥:

openssl req -new -newkey rsa:2048 -nodes 
-keyout vpn.key 
-out vpn.csr 
-subj "/CN=vpn.yourcompany.com/O=Your Company LLC/L=San Jose/ST=California/C=US" 
-addext "subjectAltName=DNS:vpn.yourcompany.com,DNS:portal.yourcompany.com"

如上所示,将 Common Name 作为 SAN 列表中的第一个条目重复填写。客户端会将主机名与 SAN 条目进行匹配,而忽略 Common Name,因此仅出现在 CN 中的名称是不受覆盖的。请妥善保管 vpn.key:以这种方式创建请求时,设备并不持有该密钥,因此您需要在导入时通过 Import Certificate & Key(而非通过待处理的 CSR)自行提供该密钥。

CA 签发证书后该怎么做

验证完成后,CA 会通过电子邮件向您发送签发的证书及其中间(CA)证书链,通常以 ZIP 压缩包的形式提供。解压后,返回到 System > Configuration > Certificates > Device Certificates,点击与之对应的 Pending CSR 链接,在 Import signed certificate 下浏览选择该文件,然后点击 Import。导入到该待处理请求上,正是将证书与设备自步骤 4 起一直保留的密钥进行配对的方式。

该设备支持 DER 或 PEM 编码的 X.509 证书(.cer.crt.der.pem 文件),以及 PKCS#12(.pfx.p12)格式。导入证书并不是最后一步:您仍需添加中间证书,并将新证书绑定到您的端口上,用户端才会看到任何变化。我们关于如何在 Ivanti Connect Secure 上安装 SSL 证书的指南涵盖了这两方面的内容。

如果您要替换即将到期的证书,则有两种选择。如上所述创建新的 CSR,是 Ivanti 所称的更安全的选项,因为 CA 会针对新密钥签发新证书,而旧密钥则会被淘汰。另一种方案则保留现有密钥,Ivanti 称之为安全性较低的选项:通过重新提交您原始的 CSR,或确认 CA 仍保留有该记录,向您的 CA 申请续订,然后在列表中打开该证书,点击 Renew Certificate,浏览选择续订后的文件并点击 Import。这样可以省去重新构建请求的步骤,但代价是继续沿用同一个密钥。

常见问题

在 Ivanti Connect Secure 上哪里可以生成 CSR?

在管理控制台中,选择 System > Configuration > Certificates > Device Certificates,然后点击 New CSR。填写请求者信息和密钥设置,然后点击 Create CSR。编码后的请求会显示在下一屏幕上,在您导入签发的证书之前,该请求会被标记为 Pending

Pulse Secure 和 Ivanti Connect Secure 是同一产品吗?

是的。Ivanti 于 2020 年 12 月 1 日收购了 Pulse Secure,并对产品进行了重新命名:Pulse Connect Secure 变为 Ivanti Connect Secure,Pulse Policy Secure 变为 Ivanti Policy Secure,Pulse Secure 桌面客户端则变为 Ivanti Secure Access Client。证书工作流程并未改变,因此无论您的设备仍显示 Pulse 品牌还是较新的 Ivanti 品牌,这些步骤均适用。

私钥会随 CSR 一起离开设备吗?

不会。设备在您点击 Create CSR 时会在本地生成密钥,并将其保密。只有请求内容会被显示出来,也只有请求会发送给 CA。这就是为什么签发的证书必须导回同一台设备、导入到同一个待处理请求中,也是为什么您在等待期间绝不应删除待处理 CSR 的原因:删除它会同时删除密钥,由此签发的证书也将无法使用。

我应该选择哪种密钥类型和密钥长度?

选用 Key Length2048RSA 适用于几乎所有部署场景,且 2048 位是公共 CA 会签发的最小密钥长度。如果您的安全策略要求更大的密钥,可选择 3072 或 4096。仅在确有需要时才选择 ECC:Ivanti 文档说明 ECC 证书仅在 ISA 系列网关和虚拟设备平台上受支持,并且只有支持 ECC 密码套件的客户端才能连接到承载 ECC 证书的端口。

我可以在一张证书上放置多个域名吗?

通过内置表单无法实现,因为它只接受一个 Common Name,且没有用于添加其他名称的字段。通配符是可行的,因此如果您所有的主机名都在同一个域下,可将 *.yourcompany.com 输入为 Common Name。对于真正不同的名称,请使用我们的 CSR 生成器或 OpenSSL 创建请求,自行保管私钥,并通过 Import Certificate & Key(而非通过待处理的 CSR)加载两者。

我的 CSR 信息有误,可以编辑吗?

不可以。该请求是由其自身的私钥签名的,因此哪怕修改一个字符也会使其失效。请在设备上使用正确的值创建一个新的 CSR 并提交。一旦替代请求就位,且没有证书是针对该错误请求签发的,您就可以删除该有误的待处理请求。

为什么我的请求以 BEGIN CERTIFICATE REQUEST 而非 BEGIN CERTIFICATE 开头?

因为这是两种不同的对象。-----BEGIN CERTIFICATE REQUEST----- 标记的是 CSR,即您发送给 CA 的代码块。-----BEGIN CERTIFICATE----- 标记的是已签发的证书,即 CA 返回给您的代码块。复制请求时请保持其自身的标记完整无损,两侧各五个连字符,标记前后不要添加任何内容。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.