安装客户端 CA 或根 CA 证书以对集群或 SVM 的 SSL 客户端进行身份验证

为了支持集群或 Storage Virtual Machine (SVM) 对要访问其的客户端进行身份验证,您可以在集群或 SVM 上安装 client-ca 类型的数字证书,用作对客户端证书签名请求 (CSR) 进行签名的 CA 的根证书。您也可以在集群或 SVM 上创建 root-ca 类型的根 CA 证书,用于对客户端的 CSR 进行自签名。

开始之前

要启用 SSL 客户端身份验证,需要启用 SSL 服务器身份验证(默认值)。security ssl show 命令可显示配置设置。

步骤

  1. 如果集群或 SVM 要成为用于对客户端证书进行签名的 CA,并且集群或 SVM 的自签名根 CA 证书尚不存在,则使用带有 -type root-ca 参数的 security certificate create 命令创建一个。
    示例
    以下命令将为自定义公用名为 lab.companyname.com 的“vs1”SVM 创建一个根 CA 证书:
    cluster1::> security certificate create -vserver vs1 -common-name lab.companyname.com -type root-ca
  2. 使用 security ssl modify 命令并将 -client-enabled 参数设置为 true,在集群或 SVM 上启用 SSL 客户端身份验证。
  3. 使用 security certificate generate-csr 命令为要进行身份验证的客户端生成 CSR。
    示例
    以下命令将为自定义公用名为 vs1admin 的客户端生成 CSR:
    cluster1::> security certificate generate-csr -common-name vs1admin
    
    Certificate Signing Request :
    -----BEGIN CERTIFICATE REQUEST-----
    MIICojCCAYoCAQAwXTERMA8GA1UEAxMIdnMxYWRtaW4xCzAJBgNVBAYTAlVTMQkw
    BwYDVQQIEwAxCTAHBgNVBAcTADEJMAcGA1UEChMAMQkwBwYDVQQLEwAxDzANBgkq
    hkiG9w0BCQEWADCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6ohdT5
    ...
    -----END CERTIFICATE REQUEST-----
    
    
    Private Key :
    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEAvqiF1PmYy1Vtmkf6I8+mRXOy/m+3m/O1sEjUILbopzTlTu92
    igqEzDY4W6q7KoRkcSa2x/Zn6IRlqxKrQbvUAJvAUDhcV7bn9NAzv9JE1j/6+0RY
    IVR6Hr6QnCRSsjlLDxBnV3uZu8WNghpbIL98QP4oxwFu7G0HQsOleO3HMazOFyvW
    ...
    -----END RSA PRIVATE KEY-----
    
    Note: Please keep a copy of your certificate request and private key for future reference.
    
    Data ONTAP 将显示证书请求和私钥并提醒您将其复制到某个文件中以供将来参考。
  4. 如果您对 CSR 进行自签名,请完成以下步骤:
    1. 使用带有 -instance -type root-ca 参数的 security certificate show 命令显示在步骤 1 中创建的根 CA 证书。
      对 CSR 签名时,您将需要命令输出中的以下信息:
      • 证书颁发机构 (CA)
      • 证书的序列号
      示例
      cluster1::> security certificate show -instance -vserver vs1 -type root-ca
      
                                   Vserver: vs1
                FQDN or Custom Common Name: lab.companyname.com
              Serial Number of Certificate: 50F84392
                     Certificate Authority: lab.companyname.com
                       Type of Certificate: root-ca
       Size of Requested Certificate(bits): 2048
                    Certificate Start Date: Wed Jun 25 13:29:16 2014
               Certificate Expiration Date: Thu Jun 25 13:29:16 2015
                    Public Key Certificate: -----BEGIN CERTIFICATE-----
                                        MIID+zCCAuOgAwIBAgIEUPhDkjANBgkqhkiG9w0BAQsFADBbMQ8wDQYDVQQDEwZt
                                          .
                                          .
                                          .
      
    2. 使用 security certificate sign 命令通过根 CA 对 CSR 签名。
      签名证书的默认格式 (-format) 为 PEM。如果您将此格式指定为 PKCS12,则可选择使用 -destination 参数来指定用于上载签名证书的目标。
    3. 出现提示时,输入 CSR,然后按 Enter 键。
      示例
      cluster1::> security certificate sign -vserver vs1 -ca lab.companyname.com -ca-serial 50F84392
      
      Please enter Certificate Signing Request (CSR): Press <enter> when done
      
      -----BEGIN CERTIFICATE REQUEST-----
      MIICrTCCAZUCAQAwaDEcMBoGA1UEAxMTQ1NSLlNpZ25pbmdUZXN0LmNvbTELMAkG
      A1UEBhMCVVMxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkwBwYDVQQKEwAxCTAHBgNV
      BAsTADEPMA0GCSqGSIb3DQEJARYAMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
      ...
      -----END CERTIFICATE REQUEST-----
      
      
      Signed Certificate: :
      -----BEGIN CERTIFICATE-----
      MIIDmzCCAoOgAwIBAgIEU9e2rzANBgkqhkiG9w0BAQsFADBoMRwwGgYDVQQDExNO
      ZXcuQ29tcGFueU5hbWUuY29tMQswCQYDVQQGEwJVUzEJMAcGA1UECBMAMQkwBwYD
      VQQHEwAxCTAHBgNVBAoTADEJMAcGA1UECxMAMQ8wDQYJKoZIhvcNAQkBFgAwHhcN
      ...
      -----END CERTIFICATE-----
      
      
      此时会显示签名证书。您应该保留一份证书副本。
  5. 如果要通过第三方 CA 对 CSR 进行签名,请完成以下步骤:
    1. 将 CSR 输出中的证书请求(步骤 3)以电子形式(如电子邮件)发送到受信任的 CA 进行签名。
      处理完请求之后,CA 会向您发送已签名的数字证书。您应复制一份专用密钥和 CA 签名的证书,以供日后参考。
    2. 集群或 SVM 上,使用带有 -type client-ca 参数的 security certificate install 命令安装用于对证书签名的 CA 的根证书和所有中间证书。
      示例
      cluster1::> security certificate install -vserver vs1 -type client-ca
      
      
      Please enter Certificate: Press <Enter> when done
      -----BEGIN CERTIFICATE-----
      MIIDNjCCAp+gAwIBAgIQNhIilsXjOKUgodJfTNcJVDANBgkqhkiG9w0BAQUFADCB
      zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
      Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
      ...
      -----END CERTIFICATE-----
      
      You should keep a copy of the CA-signed digital certificate for future reference.
      
      
  6. 将自签名证书或 CA 签名证书提供给用户,使其可以安装在客户端上。
  7. 对要进行身份验证的每个客户端重复步骤 3 到步骤 6
  8. 如果未对用户进行设置,以使用数字证书进行身份验证,请使用 security login create 命令并将 –authmethod 参数设置为 cert 来分别添加各个用户。
    对于集群用户帐户,只有 httpontapi 访问方法 (–application) 才支持数字证书身份验证。对于 SVM 用户帐户,只有 ontapi 访问方法才支持数字证书身份验证。

    security login show 命令可显示用户登录方法。