Enterprise PKI mmc 中的 PKI 问题位置

PKI problems locations in Enterprise PKI mmc

我在我的一个企业子 CA 上做了一个 "renew Cert",它完全弄乱了我在 MMC 中的企业 PKI 上的结果。在证书颁发机构管理单元中,现在有两个证书(证书 #0 和 #1)。 AIA (ldap) 显示 "Unable to Download","original CN="。 CDP (ldap) 位置上有一个 (1),DeltaCRL 也是如此。每次我更新撤销时,它都会生成原始证书的 crl 和 (1)。 CDP/DeltaCRL (http) 也都显示 "unable to download",即使文件存在于目录中。唯一显示 OK 的 AIA 位置是 http 位置。

我需要摆脱旧的 CA 证书(#0),一旦这一切都得到解决,我将通过 GPO 重新推出新的。我试图通过 ADSIEdit 删除 AIA,然后通过 "certutil -dspublish" 重新发布它,但这给了我一个 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER) 错误。尝试通过 ADSIEdit 连接到特定 CA 的配置显示 "server is not operational"。在 ADSIEdit CN=CDP 中有多个条目,正常的 "CA"、"CA-1" 和 "CA-1(1)".

这是在我们的 "Test" 环境中(幸运的是),但我需要整理出一个适当的过程,因为我需要在另外两个森林中执行此操作。实际上,我很想在其他区域完全重建一个新的 CA,而不是与所有这些作斗争。 我想要做的就是重新颁发 subCA 的证书,并使其在企业 PKI 中正常工作并报告健康!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\OMNI- TST-CERTAUTH-01-CA-1\CRLPublicationURLs:

CRLPublicationURLs REG_MULTI_SZ = 0: 65:C:\windows\system32\CertSrv\CertEnroll\%3%8%9.crl CSURL_SERVERPUBLISH -- 1 CSURL_SERVERPUBLISH三角洲 -- 40 (64)

1: 79:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10
CSURL_SERVERPUBLISH -- 1
CSURL_ADDTOCERTCDP -- 2
CSURL_ADDTOFRESHESTCRL -- 4
CSURL_ADDTOCRLCDP -- 8
CSURL_SERVERPUBLISHDELTA -- 40 (64)

2: 134:http://pki.omni.phish/CertEnroll/%3%4%9.crl
CSURL_ADDTOCERTCDP -- 2
CSURL_ADDTOFRESHESTCRL -- 4
CSURL_ADDTOIDP -- 80 (128)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\OMNI- TST-CERTAUTH-01-CA-1\CACertPublicationURLs:

CACertPublicationURLs REG_MULTI_SZ = 0: 1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt CSURL_SERVERPUBLISH -- 1

1: 3:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11
CSURL_SERVERPUBLISH -- 1
CSURL_ADDTOCERTCDP -- 2

2: 32:http://%1/ocsp
CSURL_ADDTOCERTOCSP -- 20 (32)

3: 32:http://pki.omni.phish/oscp
CSURL_ADDTOCERTOCSP -- 20 (32)

4: 2:http://pki.omni.phish/CertEnroll/%3.crt
CSURL_ADDTOCERTCDP -- 2

CRLPublicationURLs

1st,你发布到本地磁盘(C:\Windows\System32\CertSrv\CertEnroll\%3%8%9.crl),但没有发布到其他地方。现在您可能有一个手动过程来将此 CRL 上传到 CDP,在这种情况下这很好。否则,您需要添加另一个url(例如65:file://\\[server]\[share]\%3%8%9.crl,其中 [server] 是您的 CDP,[share] 是包含您的 CRL 的目录的共享),以便 CA 自动将新的 CRL 发布到 CDP。

2,您正在使用 http://pki.omni.phish//CertEnroll/%3%4%9.crl 的 CDP。 %4 应该是 %8.

续订 CA 证书时,您需要原始 CA 证书和 CRL 仍然可用,以便之前颁发证书的所有终端实体仍然有效。 Microsoft CA 通过将 (1) 附加到 CRL 名称来执行此操作,就在第一个替换证书的 .crl 扩展名之前(Certificate #1在 MMC 中)和 (2) 用于下一次更新,依此类推。这是由 %8CRLPublicationURLs 注册表项中配置的。

CAPublicationURLs

您正在将 URL 作为 http://pki.omni.phish/CertEnroll/%3.crt[=56= 添加到 CA 证书].您需要在 %3.

之后添加一个 %4

%4%8 对 CRL 所做的工作类似。没有它,CA 证书名称保持不变。


您可以通过三种不同的方式解决这些问题:

  1. 您可以使用 MMC - 在 CA Properties 对话框的 Extensions 下。不过操作起来真的很笨拙
  2. 您可以使用 certutil -setreg 命令,但您必须覆盖所有设置 - 您不能编辑一行。
  3. 您可以直接在 HKLM\SYSTEM\CurrentControlSet\Services\CertSrv\Configuration\[CA Name]
  4. 编辑注册表

我觉得后者最简单

在您开始生产之前,我可以建议您对 PKI 和 Microsoft ADCS 进行一些修改吗? :-)