FreeIPA 拒绝签署 VMWare 证书签名请求 (CSR)

FreeIPA 拒绝签署 VMWare 证书签名请求 (CSR)

我正在尝试将 VMWare 的证书颁发机构 (VMCA) v6.7 设为 FreeIPA 证书颁发机构的受信任子 CA。我应该能够使用交互式工具 (certificate-manager) 或使用 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 的过程?

答案1

X.509 v3 证书扩展中用作主题备用名称 (SAN) 的最常见名称是“DNSName”和“RFC822Name”。名称“RFC822Name”通常是电子邮件地址,而“DNSName”是主机名。

错误“无效的‘csr’:禁止非用户主体使用主题替代名称类型 RFC822Name”说明了一切。当您为非用户主体申请证书时,不能使用名称类型为“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

答案2

解决此问题最简单的方法是更新模板,使其不再要求输入电子邮件地址。

基本模板在这里: /usr/lib/vmware-vmca/share/config/certool.cfg

如果您已经运行该工具,系统将使用以下副本:/var/tmp/vmware/certool.cfg

您可以将文件更改为如下所示:

#
# Template file for a CSR request
#

# Country is needed and has to be 2 characters
Country = US
Name    = CA
Organization = VMware
OrgUnit = VMware Engineering
State = California
Locality = Palo Alto
IPAddress = 127.0.0.1
#Email = [email protected]
Hostname = server.acme.com

这将创建一个可由 IPA 签名并可由 vcenter 使用的 CSR。

相关内容