我正在尝试使 VMWare 的证书颁发机构 (VMCA) v6.7 成为 FreeIPA 证书颁发机构的受信任子 CA。我应该能够使用交互式工具(证书管理器)或使用 VMWare 的 certool 和配置文件(certool.cfg)在 VMCA 中生成证书签名请求。
当然,交互式工具有其吸引力。该工具提出问题。需要一些答案:
Press Enter key to skip optional parameters or use Previous value.
Enter proper value for 'Country' [Previous value : US] :
Enter proper value for 'Name' [Previous value : vcenter.int.demarcohome.com] :
Enter proper value for 'Organization' [Previous value : DeMarco Home] :
Enter proper value for 'OrgUnit' [Previous value : none] :
Enter proper value for 'State' [Previous value : North Carolina] :
Enter proper value for 'Locality' [Previous value : Raleigh] :
Enter proper value for 'IPAddress' (Provide comma separated values for multiple IP addresses) [optional] :
Enter proper value for 'Email' [Previous value : [email protected]] :
Enter proper value for 'Hostname' (Provide comma separated values for multiple Hostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] : vcenter.int.demarcohome.com
Enter proper value for VMCA 'Name' : vcenter
在 FreeIPA 中,当我尝试签署此 CSR 时,请求未签名,错误 #3009:
invalid 'csr': subject alt name type RFC822Name is forbidden for non-user principals
解码 CSR ( https://www.sslshopper.com/csr-decoder.html ) 告诉我它包括主题备用名称 (SAN):
email:[email protected],
IP Address:10.71.73.8
vcenter.int.demarcohome.com
错误“非用户主体禁止使用名称”对我来说有些道理,但不足以为我指明正确的方向。我是否需要通过以不同方式回答问题来以不同方式格式化我的 CSR,或者我是否要在 FreeIPA 中错误地创建从属 CA 的过程?
在 X.509 v3 证书扩展中用作主题备用名称 (SAN) 的最常见名称是“DNSName”和“RFC822Name”。名称“RFC822Name”通常是电子邮件地址,而“DNSName”是主机名。
错误“'invalid 'csr': subject alt name type RFC822Name is allowed for non-user principals'”说明了一切。为非用户主体请求证书时,不能使用名称类型为“RFC822Name”的 SAN。
您似乎正在尝试为证书颁发机构 (CA) 创建证书。在这种情况下,您使用了错误的证书配置文件来创建证书签名请求 (CSR)。我建议与您的 PKI 管理员交谈并向他们解释您要为 CA 创建 CSR 并询问他们要使用哪个配置文件。由于证书中使用的扩展名不同,不同类型的证书需要不同的配置文件。
您可以在此处找到有关如何使 VMCA 成为中间 CA 的更多信息:
https://docs.vmware.com/en/VMware-vSphere/6.0/com.vmware.vsphere.security.doc/GUID-886C7657-3C2D-4AAC-8525-D5700CA58FCD.html
在这里您可以看到 CSR 使 VMCA 成为中间 CA 的要求:
https://docs.vmware.com/en/VMware-vSphere/6.0/com.vmware.vsphere.security.doc/GUID-75008746-C902-4C42-8F5C-6602D6E4EC8B.html#GUID-75008746-C902-4C42- 8F5C-6602D6E4EC8B
解决此问题的最简单方法是更新模板,使其不再要求提供电子邮件地址。
基本模板在这里:
/usr/lib/vmware-vmca/share/config/certool.cfg
如果您已经运行该工具,系统将使用以下副本:
/var/tmp/vmware/certool.cfg
您可以将文件更改为如下所示:
这将创建一个可由 IPA 签名并由 vCenter 使用的 CSR。