我们有一个应用程序试图通过 Web 上的 http 运行许可检查。此软件所在的机器是未配置域的 Server 2008 虚拟机。
通过 Fiddler2 跟踪正在发生的事情时,在到安全站点的初始隧道之后,发生了此根证书更新尝试,并且我们阻止了此外部流量,因此出现以下情况:
Request Header: GET /msdownload/update/v3/static/trustedr/en/authrootstl.cab HTTP/1.1
HTTP/1.1 502 Fiddler - DNS Lookup Failed
Date: Thu, 09 Apr 2015 15:30:19 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 11:30:19.171
[Fiddler] DNS Lookup for "www.download.windowsupdate.com" failed. System.Net.Sockets.SocketException No such host is known
问题的根源在于它似乎无法解密数据以读取要验证的许可证。有没有办法可以手动安装证书?
我努力了:
通过提取 > 右键单击 authroot 文件并“安装 CTL”手动安装文件(msdownload/update/v3/static/trustedr/en/authrootstl.cab)。
完成此操作后,我现在收到以下 GET 请求:
`GET "/fcpca/caCertsIssuedByfcpca.p7c HTTP/1.1"`
当然如果它也被阻止了。
为了测试另一台机器,我们暂时打开了访问权限,运行了软件,更新和许可运行正常。即使我们再次阻止了互联网访问,许可仍然有效,但不再尝试连接到 Microsoft 的服务器。
有任何想法吗?
答案1
您已安装信任列表。现在它正在尝试获取 CA 证书。您可能还必须手动获取该证书。看起来这是它试图获取的证书链:
http://http.fpki.gov/fcpca/caCertsIssuedTofcpca.p7c
下载它并将其导入到您计算机的受信任的根证书颁发机构。
此 TechNet 博客中提到:http://blogs.technet.com/b/pki/archive/2011/03/13/deployment-of-the-new-federal-common-policy-ca-root-certificate.aspx