我在网络上有一个证书服务器,其中有两个服务器位于链中,所以当我在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我的证书服务器。
答案 0 :(得分:3)
要追踪您的问题,我建议您使用certutil.exe
验证您的证书并查看正在执行的步骤。请看这里的例子:
正如您所提到的,您的问题原来是CRL过期了。以下是一些谈论CRL以及如何发布/重新发布它们的链接。