Dell Unity:如何在 Unity 上创建安全 CA 证书签名请求 (CSR)(用户可纠正)
Summary: 浏览器在信任 CA 签名证书之前需要更多信息。 此过程使用配置文件创建安全的证书签名请求 (CSR),该文件将提交到 CA 签名服务器,并导入到 Unity 中。
Instructions
在 Unity 上,创建 Unity CSR CA 证书签名请求。
Unity 5.5
请参阅内部知识库文章。
受众级别:内部
https://www.dell.com/support/kbdoc/en-us/000308965
1.通过 SSH 作为用户服务连接到 Unity。
2.创建 CA 证书签名请求 (CSR) 配置文件。
vi unity-cert.cnf
复制以下工作示例中介于两者之间的文本 #=== 并将文本粘贴到 unity-cert.cnf 文件中。
编辑distinguished_name“dn”详细信息,以满足 Unity 的 C、ST、L、OU、CN 和 emailAddress 需求。
编辑 subjectAltName“alt_names”详细信息,以满足 Unity 的完全限定域名 (FQDN)、主机名和 IP 地址需求。
以下是可分辨名称 (dn) 详细信息的定义列表:
C = 2 字母的国家/地区代码
ST = 州/地区
L = 位置/城市
O = 组织
OU = 组织单位
CN= 通用名称(这是 Unity 的完全限定 DNS 域名 (FQDN))
emailAddress=管理 Unity 和/或其证书的组或人员的电子邮件地址。
subjectAltName 是可用于浏览到 Unity 的 FQDN、主机名和 IP 地址的列表。
如果只有一个 DNS 条目,则可以使用 DNS=DNS 详细信息,并删除或注释掉 DNS.1 和 DNS.2 条目。
某些站点已禁用 subjectAltName 部分以支持 IP 地址。根据需要删除或注释掉 IP 行。
下面是 unity-cert.cnf 的工作示例,您必须根据要求对其进行编辑。
#=== [req] default_bits=2048 prompt=no default_md=sha256 distinguished_name=dn req_extensions=v3_req # The extensions to add to a certificate request [dn] C=US ST=Massachusetts L=Hopkinton O=Dell Technologies OU=3CLAB CN=unityf12.3clab.hop.ma.dell.com emailAddress=3clabadmin@3clab.hop.ma.dell.com [v3_req] basicConstraints=critical,CA:FALSE keyUsage=critical,nonRepudiation,digitalSignature,keyEncipherment,keyAgreement extendedKeyUsage=serverAuth,clientAuth subjectAltName=@alt_names [alt_names] DNS.1=unityf12.3clab.hop.ma.dell.com DNS.2=unityf12 IP.1=10.20.30.40 #===
保存 unity-cert.cnf 文件。
3.创建 CSR 证书签名请求 (.csr) 和不受密码保护的私钥 (.pk)。Unity 只接受不受密码保护的私钥。
openssl req -newkey rsa:2048 -nodes -keyout unity-cert.pk -config unity-cert.cnf -out unity-cert.csr
查看并确认 CSR 的 distinguished_name 和 subjectAltName 详细信息是否满足 Unity 要求。
openssl req -verify -noout -text -in unity-cert.csr
4.将 unity-cert.csr 文件发送到要签名的 CA 证书签名服务器。
使用 scp 或 WinSCP(使用 scp 协议)传输unity-cert.csr文件。
团队使用 CA 的证书对 CSR 进行签名,并为 Unity 创建 CA 签名的证书。
如果返回的证书以 (.cer) 形式送达,则它可能采用“DER”格式,并且必须采用带扩展名 (.crt) 的“PEM”格式。
5.查看新创建的 CA 签名证书。
openssl x509 -noout -text -in unity-cert.crt
如果您无法查看新创建的证书,请使用以下命令将证书从“DER”格式(.cer扩展名)转换为“PEM”格式(.crt 扩展名):
openssl x509 -inform der -in unity-cert.cer -outform pem -out unity-cert.crt
6.查看新创建的 CA 签名证书。
openssl x509 -noout -text -in unity-cert.crt
验证 CA 签名证书的输出是否正确,然后继续执行下一步。
7.在 Unity 上导入 CA 签名证书和 Unity 的私钥。
a. 带有 (.crt) 扩展名。
b. 未使用 (.PK) 扩展名。
svc_custom_cert unity-cert
如果您收到一条错误消息,并且 Unity 运行的是 OE 5.5
“ERROR:无法确定私钥强度“
在导入 CA 签名证书之前,请求高级技术支持人员对svc_custom_cert应用内部更新。
受众级别:内部
https://www.dell.com/support/kbdoc/en-us/000308965
Unity 的管理服务将重新启动并加载新证书。完成此过程需要 2-5 分钟。
请勿输入密码。Unity 只接受不受密码保护的私钥。
Unity 没有存储私钥密码的方法。输入密码会导致 Unity 的管理服务停止运行。如果要求提供密码,请返回并重做上述步骤。
8.导入新证书后,打开 Web 浏览并连接到 Unity。
根据您的需求,选择所需的 URL 以确认证书是安全的。
https://FQDN/ https://hostname/ https://Unity_IP_Address/ https://[Unity_IPv6_Address]/
提醒:对于我的临时 Unity 示例:
FQDN 是 unityf12.3clab.hop.ma.dell.com
主机名是 unityf12(我必须确保我的工作站的域搜索包含 3clab.hop.ma.dell.com)。
IP 地址为 10.20.30.40
,未指定 IPv6 地址。
例如,要浏览到我的 Unity,我可以使用:
https://unityf12.3clab.hop.ma.dell.com/ https://unityf12/ (Ensure your workstation's domain search includes Unity's Domain) https://10.20.30.40/ https://[Unity_IPv6_Address]/ (Note, My Unity does not have IPv6 address to test.)
Additional Information
使用上述过程不涉及编写脚本或启用服务 shell。
验证 私钥 (.PK)、证书签名请求 (.CSR) 和 CA 签名证书 (.CRT) 全部匹配。
openssl rsa -noout -modulus -in unity-cert.pk | sha256sum openssl req -noout -modulus -in unity-cert.csr | sha256sum openssl x509 -noout -modulus -in unity-cert.crt | sha256sum