Dell Unity:如何將 Unisphere 自我簽署 SSL 憑證更換為本機認證機構的簽署憑證。(使用者可修正)
Summary: 如何將 Unity Unisphere 自我簽署 SSL 憑證更換為本機認證機構的簽署憑證。
Instructions
- 在 Unity 上產生私密金鑰
使用以下命令生成長度為 2048 位的 RSA 私鑰。-out 選項指定私鑰的檔名。
service@unknown spa:~/user# openssl genrsa -out unitycert.pk 2048 Generating RSA private key, 2048 bit long modulus ............................+++ .........................................................................................+++ e is 65537 (0x10001)
- 要求在 Unity 上取得 CSR
使用私密金鑰建立 CSR。可使用 -new 選項表示新請求, -key 指定私密金鑰檔案,以及 -out 定義 CSR 檔案名稱。
service@unknown spa:~/user# openssl req -new -key unitycert.pk -out unitycert.csr \ -subj '/C=IE/ST=Cork/L=Ovens/O=DellEMC/CN=name.example.com' \ -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:name.example.com,IP:192.0.2.1"))
"/C=IE/ST=Cork/L=Ovens/O=DellEMC/CN=name.example.com" and "DNS:name.example.com" are examples and must be changed per your environment (further details below). The IP option and IP Address for the SAN value is also optional and can be omitted. The variables in the -subj field stand for: C = Country Code ST = State or Province L = City or Locality O = Organization CN = Common Name (The FQDN you want to secure in this case the Unity) SAN = Subject Alternative Name (IP and DNS for the entity you want to secure in this case the Unity)
- 取得由 Windows CA 伺服器或 OpenSSL CA 伺服器或其他 CA 伺服器簽署的 CSR。
使用以下方法 1 或方法 2 將 CSR 交付至 CA 伺服器:
- 方法 1:使用 ' 列印 CSR
cat命令,將其複製並貼到本地記事本並另存為: unitycert.csr.
service@unknown spa:~/user# cat unitycert.csr -----BEGIN CERTIFICATE REQUEST----- MIICljCCAX4CAQAwUTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMREwDwYDVQQH DAhTYXJhc290YTEPMA0GA1UECgwGTXlDdXN0MREwDwYDVQQDDAgxMC4wLjAuMTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOBxqufN1Vpm0hq5K5UU0ocd teL2hJr5T1WIOmwQreX4nIdHIxVoWmyepmT7IZJIrQZQc8GuFDRx5qZ/cwlxoup7 <..snip..> lJc/79vxTfrWWNnSF95C+wer2LB93VLov8MSQqPZfl0LPb4NRU/XaE4l9Vh5DYl4 /FmwHXsifwV5f1TUkvhC8YTwn5frWQjruz+ItZ3z9DetQX0OXYXMcaPX5Qp6aU5m dsXFHDDiaVbOofJN9z6OPOsWUhn0ZwEpnW8q/+V72MdBIfiwEjoQqZZKh4w1l0/7 uElP8BfS7vH/i87OCqHJM0g/O3IndF+p5wYzmhrDPg/f3belQVQvKs7Z -----END CERTIFICATE REQUEST-----
- 方法 2:透過 SCP 下載 CSR。
使用 FileZilla 或 WinSCP 等第三方工具連線至 Unity 管理 IP (使用者名稱:服務)。協議必須更改為 SCP。
- 從 CA 伺服器收到已簽署的憑證後,將其上傳至 Unity,並將其名稱儲存為 unitycert.crt (對應於 unitycert.PK)。Unity 上現在有兩個檔案:unitycert.crt 和 unitycert.pk。
5.使用 svc_custom_cert 安裝憑證的命令:
service@unknown spa:~/user# svc_custom_cert unitycert Successfully installed custom certificate files. Restarting web server ... Sun May 22 05:37:48 2016:7645\0x7f44ba3e27c0:32:Module CIC/1.1.10.6 loaded
注意:步驟 5 成功後,請刪除 unitycert。Unity 陣列的 crt、unitycert.pk 和 unitycert.csr。否則,如果您將其儲存在 /cores/service/user 中,可能會導致安全性漏洞問題。
注意:嘗試安裝新憑證時可能會發生錯誤:
service@SPB spb:~/user# svc_custom_cert unitycert ERROR: Certificate </tmp/cert.MIbZ4L/unitycert.crt> is invalid
安裝證書之前,證書必須採用base64編碼。可使用 Windows 工具「certutil」進行轉換:
Certutil -v -encode unitycert.crt unity64cert.crt Input Length = 1520 Output Length = 2148 CertUtil: -encode command completed successfully.
或者,也可以使用 OpenSSL 命令在 Unity 系統上轉換:
openssl x509 -in <certificate file> -inform DER -outform PEM -out unitycert.crt
轉換完成後,請使用上述指示進行安裝。請參閱 KB 19728:Dell EMC Unity:如何匯入已由本機認證機構簽署的 SSL 憑證 (使用者可修正), 以取得更多詳細資料。
如果憑證已是 PEM 格式,但副檔名已.cer,您可以執行:openssl x509 -inform PEM -in <certificate file> -outform PEM -out unitycert.crt
Additional Information
這適用於萬用字元憑證。
除了 Base 64 編碼的憑證部分之外,上傳包含 pkcs7 編碼憑證或其他內容的憑證檔案有時可能會導致 SP 當機和其他問題。在這種情況下,可以將證書縮減為僅“Base 64 編碼證書”部分。
svc_custom_cert 不允許使用不支援的演算法簽署憑證的指令檔。
CST 中支援的唯一簽名演演演算法:
SHA1_RSA
SHA256_RSA
SHA384_RSA
SHA512_RSA