继企业 CA 证书请求错误之后,我在 Windows 2012 R2 上安装了新的 SHA2 CA 以及 CA Web 注册,现在我可以从外部浏览器请求证书并从 CA 控制台成功颁发这些证书,但是,当我返回检查未决证书请求的状态并尝试安装它时,它会重定向到http://CertificateAuthority/certsrv/certnew.cer?ReqID=CACert&Renewal=0&Mode=inst&Enc=b64显示 HTTP 500 内部服务器错误页面.
我修改了 CertSrv 站点的 web.config 以将错误模式更改为“详细”,但只是显示上述页面。在此站点的 W3SVC1 日志中,我可以看到以下错误:
软件:Microsoft Internet Information Services 8.5 版本:1.0 日期:2017-04-06 10:21:24 字段:日期时间 s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c- ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2017-04-06 10:21:24 83.231.185.99 GET /certsrv/certnew.cer ReqID=CACert&Renewal=0&Mode=inst&Enc=b64|5|ASP_0126|Include_file_not_found 443 - 172.21.51.241 Mozilla/5.0+(Windows+NT+6.1 ;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko https://CertificateAuthority/certsrv/certfnsh.asp 500 0 0 234
2017-04-06 10:24:12 83.231.185.99 POST /certsrv/certfnsh.asp - 443 - 172.21.51.241 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0) +like+Gecko https://CertificateAuthority/certsrv/certckpn.asp 200 0 0 124
2017-04-06 10:24:17 83.231.185.99 GET /certsrv/certnew.cer ReqID=CACert&Renewal=0&Mode=inst&Enc=b64|5|ASP_0126|Include_file_not_found 443 - 172.21.51.241 Mozilla/5.0+(Windows+NT+6.1 ;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko https://CertificateAuthority/certsrv/certfnsh.asp 500 0 0 15
我想从中读到找不到文件,但这是我需要帮助的地方。
当试图打开 C:\Windows\System32\certsrv 中的 certnew.cer 文件时,我会看到以下消息:
无效的公钥安全对象文件 - 此文件无效,不能用作以下用途:安全证书。
但是,我似乎也无法在没有看到这个问题的现有工作旧 CA 上打开它,所以感觉这是预期的!?
从 CA 服务器本身和其他内部服务器上的浏览器单击安装链接可以很好地安装此链接,因此仅从外观上看似乎是一个外部问题。
有任何想法吗?
在花了所有时间写这个问题之后,我发现了这个问题....Doh!
出于某种原因,我不太记得但知道它是解决我看到的错误所必需的,我不得不将所有文件从 C:\Windows\System32\certsrv\en-US 移动到 C:\Windows\System32 \certsrv 但这样做必须修改所有 .asp 文件以指向 certdat.inc 而不是 ..\certdat.inc ,原因很明显。我没有意识到这个目录中的 cer、p7b 和 crl 文件实际上并不是证书文件,实际上也可以编辑包含与上面相同的 ..\certdat.inc 路径。一旦我将其更改为 certdat.inc,我就能够从网站安装证书。
我可以在内部成功安装它的事实让我有点不希望考虑到无论计算机位置(内部/外部)如何都能做到这一点,但显然情况并非如此。
.....一直在学习。