PowerStore:如何将自签名群集管理证书替换为外部证书颁发机构颁发的证书

Summary: 本文提供有关如何使用外部证书颁发机构 (CA) 颁发的证书替换 PowerStore 用于管理的自签名证书的分步说明。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

提醒:一般而言,PowerStore 不支持第三方 CA 签署 GUI 证书。浏览器论坛禁止 CA 使用证书中的受限 IP 为证书签名,因为专用 IP 包含在受限列表中,并且 PowerStore 要求在证书中,CA 将拒绝该请求。获取第三方 CA 签名的证书的唯一可能性是将 ISP 或 IANA 提供的公共 IP 用于管理网络。

本文指的是由私有企业 CA 签名的证书(例如,使用 OpenSSL、Microsoft CA 或类似内容) 

本文介绍 PowerStoreOS 2.1。有关 PowerStore OS 的较新版本,请参阅 PowerStore:创建和导入签名的 HTTPS 管理证书

在 PowerStoreOS 版本 2.1 中,对将 PowerStore 管理自签名证书替换为外部 CA 颁发的证书的初始支持以有限形式提供。
除了使用 HTTPS 保护用户界面 (UI) 访问之外,群集管理证书还有其他用途,例如各种内部通信等。

在首次引入 PowerStoreOS 2.1 版随附的功能期间,以下限制适用。

这些限制和局限性适用于 PowerStoreOS 版本 2.1.x,用于私有 CA 签名的服务器证书导入。这些限制和局限性不适用于 PowerStoreOS 版本 3.0 或更高版本。

  • 以下项不支持第三方证书导入
    • 多设备群集
    • 与另一个群集处于复制关系的群集
    • 配置了 SDNAS 的群集
    • 统一系统(文件 + 数据块)
  • 为群集导入第三方证书后,不支持恢复到原始 PowerStore CA 签名证书。
  • 不会为证书过期生成警报。
  • 要导入的证书的有效期应至少为 30 天或更长。
  • 不支持使用 PowerStore Manager UI 导入第三方证书。
  • 仅管理流量 (Management_HTTP) 支持第三方证书导入,而不支持任何其他服务(如 VASA、复制等)。

重要提示:如果运行 PowerStoreOS 2.1,请全面查看并了解这些限制。如果您的系统属于上面列出的类别之一,请不要继续。 

如何使用 PowerStore Manager 用户界面导入外部证书颁发机构颁发的证书

只有运行 PowerStoreOS 版本 2.1 的系统才需要手动 CLI 过程。
对于运行 PowerStoreOS v3 及更高版本的系统,请使用 PowerStore Manager 用户界面导入证书。
有关更多详细信息,请参阅《PowerStore 安全配置指南》。

PowerStore Manager Web UI 签名的群集证书窗口:
PowerStore Manager Web UI 签名的群集证书窗口


如何使用 CLI 导入外部证书颁发机构颁发的证书

步骤 1 — 检索群集 IPv4/IPv6 地址

第一步是检索群集 IPv4/IPv6(管理)地址。此 IP 嵌入在当前自签名管理证书中。这也是您在浏览器中键入以连接到 PowerStore Manager 用户界面的相同 IP 地址。

步骤 1a

检索所有证书的列表。

$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate show

 #  |                  id                  |  type  |     service      | is_current | is_valid
----+--------------------------------------+--------+------------------+------------+----------
  1 | 00907634-b4eb-446a-a381-aae685bae066 | Server | Management_HTTP  | yes        | yes
  2 | 9d0ec275-3688-4ae2-922b-639e1cfb0b88 | Server | VASA_HTTP        | yes        | yes
  3 | c5f03cf7-fe1d-40bd-b6fb-7abba0c6026a | Client | Replication_HTTP | yes        | yes
      <trimmed for brevity>

记下具有服务Management_HTTP类型服务器的证书的 id字段。

步骤 1b

获取当前自签名管理证书的完整详细信息。
运行以下命令,将 id替换为您在步骤 1a 中检索到的值。

 
$  pstcli -u admin -p <password> -d <cluster_ip> x509_certificate -id 00907634-b4eb-446a-a381-aae685bae066 show

id           = 00907634-b4eb-446a-a381-aae685bae066
type         = Server
type_l10n    = Server
service      = Management_HTTP
service_l10n = Management_HTTP
is_current   = yes
is_valid     = yes
members:
  subject                   = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
  serial_number             = 14daac34e1db4711
  signature_algorithm       = SHA384withRSA
  issuer                    = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
  valid_from                = 11/16/21 23:16:33
  valid_to                  = 10/30/89 23:16:33
  public_key_algorithm      = RSA
  key_length                = 4096
  thumbprint_algorithm      = SHA-256
  thumbprint_algorithm_l10n = SHA-256
  thumbprint                = 279ea39ad7b8d2e0f3695a850a7d302e8318e080e1092fccb314c8f4f19e50a4
  certificate               = MIIFdDCCA1ygAwIBAgIIFNqsNOHbRxEwDQYJKoZIhvcNAQEMBQAwVzELMAkGA1UEBhMCVVMxCzAJBg
                              <trimmed for brevity>
                              Ar4eTY0aBe7R8fnSbg97EFqF+1gGhKlxrOU9AICgZJDh0PDQJRcYLFJBi36Ktt++mtRgpSig8VvypZ
  depth                     = 2
  subject_alternative_names =

  subject                   = C=US+O=Dell+L=Hopkinton+OU=PowerStore+ST=Massachusetts+CN=ManagementHTTP.xxxxxxxxxxxx
  serial_number             = xxxxxxxxxxxxx
  signature_algorithm       = SHA256withRSA
  issuer                    = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
  valid_from                = 11/16/21 23:56:23
  valid_to                  = 11/15/26 23:56:23
  public_key_algorithm      = RSA
  key_length                = 4096
  thumbprint_algorithm      = SHA-256
  thumbprint_algorithm_l10n = SHA-256
  thumbprint                = eedf2f9c1d0f70f018857110e87cd122f4fa31140e694c30b5ea10398629dbf1
  certificate               = MIIFejCCA2KgAwIBAgIJANlUDR+8+78qMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNVBAYTAlVTMQswCQ
                              <trimmed for brevity>
                              ZTShTW0BFh3IeAgt23Tlhz+npsJNqbvxXB+8hXqvNWcpzeSluiUalqB3qU9MwCzwHpEkXqagzk8EZM
  depth                     = 1
  subject_alternative_names = aaa.bbb.ccc.ddd, 1111:2222:3333:4444:5555:6666:7777:8888
您将在输出中获得两个证书:PowerStore 内部 CA 和由该内部 CA 签名的管理证书。
管理证书具有 “深度 = 1”字段, subject_alternative_names字段填充了 IPv4 和 IPv6 IP 地址。
如果您使用 IPv4 管理群集,则 应在“subject_alternative_names ”字段中看到第一个 IPv4 群集管理 IP(如上面的示例 - aaa.bbb.ccc.ddd 所示)。如果您使用 IPv6 管理群集,请记下 第一个 IPv6 地址。
提醒:subject_alternative_names字段中的第二个 IPv6 地址是群集内管理 (ICM) 地址,在下一步中生成 CSR 时会自动填充。没有必要把它写下来。

步骤 2 — 生成证书签名请求 (CSR)

如何生成 CSR,稍后将其提交给证书颁发机构进行签名。

步骤 2a

运行以下命令以生成有关生成 CSR 的帮助并熟悉其语法:


  
$ pstcli -u admin -p <password> -d <cluster_ip> help x509_certificate csr

x509_certificate csr -type { Server | Client | CA_Client_Validation | CA_Server_Validation } -service { Management_HTTP | Replication_HTTP | VASA_HTTP | Import_HTTP | LDAP_HTTP | Encrypt_HTTP | Syslog_HTTP } -dns_name <value>,...
-ip_addresses <value>,... -key_length <2048..4096> [ -scope <value> ] [ -common_name <value> ] [ -organizational_unit <value> ] [ -organization <value> ] [ -locality <value> ] [ -state <value> ] [ -country <value> ] [ { -passphrase
<value> | -passphraseSecure } ] [ -async ]
<trimmed for brevity>
 

以上粗体选项是必需的,所有其他选项都是可选的。如果您的公司证书政策要求使用这些可选字段,请咨询您的 CA 或 PKI 管理员。

提醒:将 FQDN(如 powerstore.mycompany.com)放入 -common_name 或 CN 字段是一种广泛接受的做法。

步骤 2b

使用上述准则生成 CSR。

 
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate csr -type Server -service Management_HTTP -dns_name "powerstoreXY.mycompany.com" -ip_addresses aaa.bbb.ccc.ddd -key_length 2048 -scope "External" -common_name "powerstoreXY.mycompany.com"
 


该命令的输出将返回 BASE64 编码的 id 和 CSR。例如:


  
  1 | 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd | Server | Management_HTTP | Management_HTTP | no         | no       | -----BEGIN CERTIFICATE REQUEST-----
MIIDJTCCAg0CAQAwezF5MAkGA1UEBhMCVVMwCwYDVQQKEwREZWxsMBAGA1UEBxMJ
<trimmed for brevity>
h4t6QVXny+nF25XASq49kuZ8aWA0aTwU8VN5lC0qbSA2Zy6uX8jPmf/ecGNSQzIc
6iDIm76HbL7UKlDecSmr7WiR5hZ9bP/zKxmkNlTN1viqtInGl+zZa6U= -----END CERTIFICATE REQUEST-----


复制您在输出中收到的 ID(上面加粗),因为后续步骤需要用到它。

您还必须设置 CSR 的格式(使用 VIM 或任何文本编辑器,如记事本)。第一行必须是 -----BEGIN CERTIFICATE REQUEST-----,最后一行必须以 -----END CERTIFICATE REQUEST-----结尾。任何地方都不得有前导空格或结束空格。

格式化 CSR 的示例:

-----BEGIN CERTIFICATE REQUEST-----
MIIDJTCCAg0CAQAwezF5MAkGA1UEBhMCVVMwCwYDVQQKEwREZWxsMBAGA1UEBxMJ
SG9wa2ludG9uMBEGA1UECxMKUG93ZXJTdG9yZTAUBgNVBAgTDU1hc3NhY2h1c2V0
<trimmed for brevity>
h4t6QVXny+nF25XASq49kuZ8aWA0aTwU8VN5lC0qbSA2Zy6uX8jPmf/ecGNSQzIc
6iDIm76HbL7UKlDecSmr7WiR5hZ9bP/zKxmkNlTN1viqtInGl+zZa6U=
-----END CERTIFICATE REQUEST-----
 
将您的 CSR 保存在具有易于理解的名称的文件中。例如: powerstoreXY.csr

步骤 2c(可选)

如果您确信 CSR 的格式正确,则可以跳过此步骤。

如果要验证其有效性,可以使用 OpenSSL 工具套件来确认它可以读取,以及 CSR 字段中的数据看起来正确。例如,使用步骤 2b 中提供的值,CSR 中的粗体字段应反映:


  
$ openssl req -in powerstoreXY.csr -noout -text

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, O=Dell, L=Hopkinton, OU=PowerStore, ST=Massachusetts, CN=powerstoreXY.mycompany.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:af:cd:73:7a:d7:71:03:67:d6:f9:46:9f:aa:68:
                    <trimmed for brevity>
                    90:c4:68:44:71:bd:d7:64:65:81:36:90:2e:c2:15:
                    b8:f5
                Exponent: 65537 (0x10001)
        Attributes:
        Requested Extensions:
            X509v3 Subject Alternative Name:
                DNS:powerstoreXY.mycompany.com, IP Address:aaa.bbb.ccc.ddd, IP Address:1111:2222:3333:4444:5555:6666:7777:8888
    Signature Algorithm: sha256WithRSAEncryption
         15:f6:08:8e:ab:f6:07:91:82:ed:45:f0:d9:4d:8c:f5:c6:e3:
         <trimmed for brevity
         16:7d:6c:ff:f3:2b:19:a4:36:54:cd:d6:f8:aa:b4:89:c6:97:
         ec:d9:6b:a5



如果一切看起来都正确,请转至下一步。

步骤 3 - 将 CSR 提交给私有 CA 进行签名

此步骤因供应商而异。此处的目标是使用供应商建议的过程将您的 CSR 提交给证书颁发机构,以接收编码为 BASE64 的签名证书。

步骤 3a

验证新颁发的证书是否为 BASE64 编码。确保文件以 -----BEGIN CERTIFICATE----- 开头,以 -----END CERTIFICATE----- 结尾,中间包含编码的数据。

 
$ cat powerstoreXY.cer
-----BEGIN CERTIFICATE-----
MIIGFjCCA/6gAwIBAgITdAAAAA4SiEpOgIXLggABAAAADjANBgkqhkiG9w0BAQsF
<trimmed for brevity>
7NcBrSr0Ach8rC443vrqLSChaTZFt1TtYiSJJT+ZEL2F0/TG9BTXBbHKFTVFXgf9
l9dWpDkH6mq/fhgaMNT/vuMCUtD40fj81DE=
-----END CERTIFICATE-----
步骤 3b

确认您收到的证书包含生成 CSR 时请求的属性值,特别是 DNS 和 Subject Alternative Name 中的 IP 地址。根据证书颁发机构生成和签署证书所涉及的步骤,证书不一定包含这些值。


  
$ openssl x509 -in powerstoreXY.cer -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            74:00:00:00:0e:12:88:4a:4e:80:85:cb:82:00:01:00:00:00:0e
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: DC=com, DC=mycompany, CN=Issuing CA
        Validity
            Not Before: Nov 26 16:51:16 2021 GMT
            Not After : Nov 26 16:51:16 2023 GMT
        Subject: C=US, ST=Massachusetts, L=Hopkinton, O=Dell, OU=PowerStore, CN=powerstoreXY.mycompany.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:af:cd:73:7a:d7:71:03:67:d6:f9:46:9f:aa:68:
                    <trimmed for brevity>
                    90:c4:68:44:71:bd:d7:64:65:81:36:90:2e:c2:15:
                    b8:f5
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Alternative Name:
                DNS:powerstoreXY.mycompany.com, IP Address:aaa.bbb.ccc.ddd, IP Address:1111:2222:3333:4444:5555:6666:7777:8888
            X509v3 Subject Key Identifier:
                1C:19:5D:DF:B4:F0:9F:B7:7B:2B:4A:0E:09:B3:C6:43:3E:CF:4D:4C
            X509v3 Authority Key Identifier:
                keyid:25:D0:D5:01:27:75:BD:08:FF:E7:FF:02:6C:CE:17:46:86:50:DD:71

            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://pki.mycompany.com/pki/Issuing%20CA.crl

            Authority Information Access:
                CA Issuers - URI:http://pki.mycompany.com/pki/ca-iss.mycompany.com_Issuing%20CA.crt

            1.3.6.1.4.1.311.20.2:
                ...W.e.b.S.e.r.v.e.r
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage:
                TLS Web Server Authentication
    Signature Algorithm: sha256WithRSAEncryption
         99:d9:99:a7:7a:b9:4a:e8:e3:66:ed:56:1f:6f:bc:71:b8:07:
         <trimmed for brevity>
         97:d7:56:a4:39:07:ea:6a:bf:7e:18:1a:30:d4:ff:be:e3:02:
         52:d0:f8:d1:f8:fc:d4:31

  

如果您在证书的 X509v3 主题备用名称(上面的粗体)中未看到您在 CSR 中请求的 DNS 和 IP 属性,请咨询您的 CA 管理员以解决此问题。
在确认证书中存在所需属性之前,请勿继续作。

步骤 3c

此步骤涉及在单个 BASE64 编码文件中构建完整的证书链,必须包含您的 PowerStore 证书以及层次结构中参与证书签名的每个 CA 的证书。

使用由以下实体组成的假设公钥基础设施 (PKI):

根 CA > 颁发 CA > 分支

其中

  • 根 CA — 是层次结构的顶部,它只为颁发 CA 签名和颁发证书。它通常从不参与为端点签署证书。
  • 颁发 CA — 这是通常会向各种端点颁发证书的方法。
  • — 端点,例如工作站、服务器等。您的 PowerStore 系统就属于此类别。
提醒:合并后,它应与上面列出的顺序相反。从顶部的叶开始,然后是颁发 CA,最后是根 CA。请阅读下文,了解有关合并证书信息的更多信息。


根据 PowerStore 证书的颁发方式,您收到的文件可能仅包含 PowerStore 端点(叶)的单个证书,也可能包含整个链(叶 + 颁发 CA + 根 CA)。在后续步骤中,您不能将仅包含单个叶证书的文件导入 PowerStore。您必须将完整的链(叶 + 颁发 CA + 根 CA)创建为单个 BASE64 编码的 PEM 文件,其中包含所有三个(或更多,如果链中有多个 CA)证书。

如果您还没有,则必须获取颁发 CA 和根 CA 的 BASE64 编码证书,并将它们与 PowerStore 的叶证书合并到一个 PEM 文件中:


  
$ cat powerstoreXY.cer issuingca.cer rootca.cer > combined.pem
使用文本编辑器打开 combined.pem 文件,并删除任何结束或前导空格和空行。此外,证书的正文(BEGIN/END CERTIFICATE标记之间的数据)必须是单行字符串。
生成的 combined.pem 文件应类似于以下示例:

  
$ cat combined.pem
-----BEGIN CERTIFICATE-----
MIIGFjCCA/6gAwIBAgITdAAAAkiG9w0BAQs<trimmed for brevity><PowerStore leaf cert>7NcBrSr0Ach8rC443vrqLSChaTZF0fj81DE=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBDANBgkqhkiG9w0BAQ0F<trimmed for brevity><Issuing CA cert>HU+TePFvwmGruno8fGI4iLyh5kWjnWW2SZVI4wWQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFCzCCAvOgAwIyoqhkiG9w0BAQ0FAuDAX<trimmed for brevity><Root CA cert>wRh/EXhVd32yvTxupm288LcH3UU3iGHx0tHieAGEkT0=
-----END CERTIFICATE-----
 

步骤 4 — 导入签名证书链

在最后一步中,通过导入包含新签名证书和所有 CA 的完整链来替换 PowerStore 自签名证书。您需要在步骤 2b 中生成的证书 ID

如果未记下它,请运行以下命令以再次获取该 ID:


  
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate show
 #  |                  id                  |  type  |     service      | is_current | is_valid
----+--------------------------------------+--------+------------------+------------+----------
  1 | 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd | Server | Management_HTTP  | no         | no
  2 | 00907634-b4eb-446a-a381-aae685bae066 | Server | Management_HTTP  | yes        | yes
  3 | c5f03cf7-fe1d-40bd-b6fb-7abba0c6026a | Client | Replication_HTTP | yes        | yes
  4 | 9d0ec275-3688-4ae2-922b-639e1cfb0b88 | Server | VASA_HTTP        | yes        | yes


  


请注意服务 证书Management_HTTP无效且不是最新的。在上面的示例中,id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd 是您需要的那个。

运行以下命令以导入链:


  
$ pstcli -u admin -p <password> -d <cluster_id> x509_certificate -id <cert_id> set -is_current true -certificate '<contents_of_the_combined.pem_file>'

  
提醒:必填换行符必须为“\n”。


例如:


  
pstcli -u admin -d self x509_certificate -id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd set -is_current true -certificate $'-----BEGIN CERTIFICATE-----\n[...Single line PowerStore certificate content...]\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n[...Single line CA Certificate certificate content...] \n-----END CERTIFICATE-----'
或者,在将 Linux 工作站与 PSTCLI 配合使用(例如 PowerStore 上的 SSH)时,您可以告诉 BASH 解释器完全按原样使用 $' ' 之间的任何内容,包括格式。在这种情况下,不需要附加“新行 \n”:

  
pstcli -u admin -d self x509_certificate -id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd set -is_current true -certificate $'-----BEGIN CERTIFICATE-----
MIIGFjCCA/6gAwIBAgITdAAAAA4SiEpOgIXLggABAAAADjANBgkqhkiG9w0BAQsF<trimmed for brevity><PowerStore leaf cert>7NcBrSr0Ach8rC443vrqLSChaTZFt1TtYiSJJT+ZEL2F0/TG9BTXBbHKFTVFXgf9l9dWpDkH6mq/fhgaMNT/vuMCUtD40fj81DE=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgITQgAAAARkLTTf7tqFAQAAAAAABDANBgkqhkiG9w0BAQ0F<trimmed for brevity><Issuing CA cert>HU+TePFvwmGruno8o65kK+qWvvYG10PbMbIYxxm/zyofGI4iLyh5kWjnWW2SZVI4wWQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFCzCCAvOgAwIBAgIQad6TNg7Pqa5HsuYzLFAK5jANBgkqhkiG9w0BAQ0FADAX<trimmed for brevity><Root CA cert>wRh/EXhVd32yvTxOdBGBBENLQnD6U6HkA4FO/jVbXR2B793giBmi9w85+B7obgWPSTypIgA+LKG3nE0jf5AW5LnOV+gQDCOsSJlGpm288LcH3UU3iGHx0tHieAGEkT0=
-----END CERTIFICATE-----'


此时,新证书应已安装并正常运行。您必须关闭并重新启动浏览器才能看到新证书。使用 PSTCLI 重新连接还会显示证书指纹已更改的警告,这表明新证书已成功安装。


Affected Products

PowerStore
Article Properties
Article Number: 000193886
Article Type: How To
Last Modified: 31 Oct 2025
Version:  11
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.