我有一个Windows 2012 AD/CA和域连接的计算机自动接收CA公共证书,并获得一个计算机证书生成和推送使用GPO自动注册。所有这些都用于802.1X,工作正常。
事实证明这是相当困难的。我遇到过这文章,其中描述了实现这一目标的两种方法:
从已加入计算机的域导出证书。我已经进行了测试,这是可行的,但正如在那篇文章中所解释的,缺点是所有非域连接的计算机都将共享相同的证书。
SAN:UPN=$@的非域计算机颁发计算机证书您可以通过使用带有
SAN:UPN=$@格式的证书中的SAN条目,使硬选项变得更容易,并减少几个步骤。这将导致在SAN字段中具有NT主名称$@的证书,然后适合作为纯计算机对象对NPS进行身份验证。然后,唯一的依赖项是在Active中创建计算机帐户,并将其添加到AuthZ的相应组中。
我已经用主机名Computer创建了一个win10test AD帐户,但是我不知道如何生成证书,以及如何将SAN:UPN=$@添加到证书中。
是否需要在非域计算机上创建CSR?
请有人详细说明从MS论坛帖子。谢谢。
更新
我创建了一个csr request.inf,如下所示:
[NewRequest]
Subject="CN=win10test"
KeyLength=2048
KeySpec=1
MachineKeySet=TRUE
SMIME = FALSE
[RequestAttributes]
CertificateTemplate="NonDomainWorkstations"
SAN="upn=win10test@test.local"然后我将其复制到CA并提交请求。我不明白为什么。
<#>UPDATE 2
[NewRequest]
Subject="CN=win10test"
KeyLength=2048
KeySpec=1
MachineKeySet=TRUE
SMIME = FALSE
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "upn=win10test@test.local"
[RequestAttributes]
CertificateTemplate="NonDomainWorkstations"仍然存在的问题是,上面的证书似乎与win10test AD计算机帐户无关。
UPDATE 3
dNSHostname修改为win10test.test.local[NewRequest]
Subject="CN=win10test"
KeyLength=2048
KeySpec=1
MachineKeySet=TRUE
SMIME = FALSE
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=win10test.test.local"
[RequestAttributes]
CertificateTemplate="NonDomainWorkstations"certreq -new request.inf win10test.req上运行win10test不能采用802.1x标准。获取NPS中的以下错误:
Event 6273
host/win10test.test.local
TEST
TEST\host/win10test.test.local
The specified user account does not exist. 发布于 2019-05-15 17:18:28
建议的解决方案都不是好办法。
如果只有一台或极少数的工作组计算机(它们不是AD森林的一部分),那么手动注册和更新客户端证书可能是合理的:
如果工作组的数量相对较多,则可以投资于ADCS服务。以下是AskDS博客上的简化版本:启用CEP和CES以注册非域连接的计算机以获取证书
发布于 2020-05-14 15:01:11
我根据@Crypt32 32的答案中的第二个链接回答了一个类似于此的ServerFault问题。
我不知道这个答案是否满足OP的要求,因为看起来他们的目标是使用certutil/certreq实用程序手动创建证书请求。如果您有Active Directory,并且可以通过非域连接的计算机通过网络访问它,则IMO 这个问题提供了最简单的方法。
https://serverfault.com/questions/967415
复制相似问题