我使用 certreq 命令实用程序 ( certreq -new
) 从 .inf 文件生成 csr,然后将其发送到中间 CA 进行签名,使用certreq -submit
。
由于某种原因,“常规”选项卡下的“颁发给”字段和“详细信息”选项卡下的“主题”字段包含我的域用户名,而不是机器 FQDN(在 .inf 中的主题行中指定)。
我这样做是为了用我们 CA 签名的证书替换机器上的自签名 RDP 证书。我知道这可以使用 GPO 和创建 RDP 模板来完成,但出于测试目的,我需要首先确保它在此服务器上运行并使用这些命令。
服务器操作系统是 Windows Server 2016 Standard。我正在从提升的 PowerShell 控制台运行命令。
以下是我引用的 .inf 文件以及我正在使用的命令。我很感激任何关于这方面的见解!
请求.inf:
[Version] Signature="$Windows NT$"
[NewRequest]
Subject = "C=US, ST=Florida, L=Orlando, O=Disney World, CN=RDPSSL-TEST.Disney.com"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE | CERT_KEY_ENCIPHERMENT_KEY_USAGE"
HashAlgorithm = SHA256
[EnhancedKeyUsageExtension]
OID=1.3.6.1.4.1.311.54.1.2 ; this is for Remote Desktop Authentication
[RequestAttributes]
CertificateTemplate= DisneyRemoteDesktop
命令:
certreq -new request.inf cert.req
certreq -submit cert.req certnew.cer certnew.pfx
答案1
这是因为您的模板配置为从 Active Directory 构建主题。由于您手动向 CA 提交请求,因此在 CSR 提交期间您会在 CA 上进行身份验证,并且 CA 将从您的用户帐户中找到主题信息。您需要在证书模板属性中更改主题源。对于生产,您必须将主题源切换回 AD 源。