【发布时间】:2013-08-07 10:48:15
【问题描述】:
我在网络上有一个证书服务器,在它之前有两个服务器在链中,所以当我在 MMC 中查看我的证书的证书路径时,我看到它上面有两个证书。最初,验证此证书不起作用,因为在我使用 X509Chain.Build() 方法的自定义验证器期间撤销时出错。所以,由于我意识到我生成的证书不包含任何 CRL 分发点,我让证书服务器生成它们,所以现在在我的证书服务器中使用复选框“包含在已颁发证书的 CDP 扩展中”,证书服务器生成一个此证书的 HTTP CRL 分发点,我看到了。我什至可以访问它包含的 URL 并下载 CRL 文件。现在的问题是,当我尝试在本地系统帐户下运行的服务应用程序中验证此证书时,在发布 X509Chain 构建后,我在 X509Chain.ChainStatus 列表中收到以下错误:
Status: OfflineRevocation
StatusInformation: The revocation function was unable to check revocation because the revocation server was offline.
使用在我的管理员帐户下运行的控制台应用程序,我收到以下错误:
Status: RevocationStatusUnknown
StatusInformation: The revocation function was unable to check revocation for the certificate.
有没有人对我接下来可以尝试什么来撤销我的证书有一些想法,以便我可以实际验证它? ping 我的证书服务器似乎也没有任何问题。
【问题讨论】:
-
首先尝试在您的证书上运行 certutil 以验证您的证书并查看有关它正在访问哪些 CDP 的详细信息以及有关错误的详细信息。例如,请参阅:admin-enclave.com/en/tutorials/windows/57-how-to-verify-the-certificate-chain-via ...也许您的“服务器”证书 CDP 无法访问...他们没有 HTTP CRL 分发点(可能试图通过 LDAP)?
-
@colinsmith - 感谢您的回答,我有一个问题要问您。如何将 certutil 与 .pfx 证书一起使用?我尝试将我的证书作为受密码保护的 pfx 文件导出到桌面并使用相同的命令进行验证,但我收到错误消息“CertUtil:ASN1 数据意外结束。”
-
好的,我通过不导出私钥让它工作了,因此只导出一个 .cer 文件...我现在会研究这个...
-
你能发布整个输出吗?另见此处:social.technet.microsoft.com/Forums/windowsserver/en-US/…
-
也许您需要发布一个新的 CRL,因为您的 CRL 已过期:social.technet.microsoft.com/Forums/windowsserver/en-US/… ... 和 ... technet.microsoft.com/en-us/library/cc737180(v=ws.10).aspx ... 和 ... technet.microsoft.com/en-us/library/cc782041(v=ws.10).aspx
标签: c# .net certificate x509