.net 无法为受信任的根颁发机构构建证书链
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/47176239/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
A certificate chain could not be built to a trusted root authority
提问by skm
During the installation of .NET Framework 4.6.2, I got an error:
在安装 .NET Framework 4.6.2 的过程中,出现错误:
.NET Framework installation failed: -2146762486. A certificate chain could not be built to a trusted root authority
.NET Framework 安装失败:-2146762486。无法为受信任的根颁发机构构建证书链
A solution to the above-mentioned error is given at this MSDN Blog link, which says to do the following steps:
此MSDN 博客链接中给出了上述错误的解决方案,其中说要执行以下步骤:
1.Download the certificate http://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crtlocally (Example: C:\Temp)
1.在 本地下载证书http://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt(例如:C:\Temp)
2.You can use the certmgr.exe utility to add the certificate by using the command line. For more information, see the Certmgr.exe (Certificate Manager Tool) topic at MSDN.
2.您可以使用 certmgr.exe 实用程序通过命令行添加证书。有关详细信息,请参阅 MSDN 上的 Certmgr.exe(证书管理器工具)主题。
3.Open an admin command prompt and run this command: certmgr.exe /add C:\Temp\MicRooCerAut2011_2011_03_22.cer /s /r localMachine root
3.打开管理员命令提示符并运行此命令:certmgr.exe /add C:\Temp\MicRooCerAut2011_2011_03_22.cer /s /r localMachine root
4.Next, try installing the patch KB3135996 or KB3136000
4.接下来,尝试安装补丁KB3135996或KB3136000
MY QUESTION:
我的问题:
The installation of .NET framework 4.6.2 has to be done on several production systems so, are the above-mentioned steps standard? I mean, could it create problem to install the same certificate on several systems? When the systems will be connected to the internet at some point, could it create conflict?
.NET framework 4.6.2 的安装必须在多个生产系统上完成,那么上述步骤是否标准?我的意思是,在多个系统上安装相同的证书会产生问题吗?当系统在某个时候连接到互联网时,会产生冲突吗?
PS:Solving this problem (managing certificates) by connecting the systems to the Internet is not an option for me since the whole process must be offline.
PS:通过将系统连接到互联网来解决这个问题(管理证书)对我来说不是一个选择,因为整个过程必须是离线的。
采纳答案by pepo
could it create problem to install the same certificate on several systems?
在多个系统上安装相同的证书会产生问题吗?
No, it will not be a problem even if the systems would be connected to the internet in the future.
不,即使将来系统连接到互联网也不会出现问题。
When you connect the system to the internet and do the update it could download a pack of trusted certificates. These certificates will be added to the trusted root store. Existing ones will simply be IMO simply replaced.
当您将系统连接到 Internet 并进行更新时,它可以下载一组受信任的证书。这些证书将被添加到受信任的根存储中。现有的将简单地被 IMO 替换。
回答by Bravo Yeung
I also met the same issue in Win 7 sp1.
我在 Win 7 sp1 中也遇到了同样的问题。
The solution is below:
解决方法如下:
- Download the certificate file from Microsoft: MicrosoftRootCertificateAuthority2011.cer
- 从 Microsoft 下载证书文件:MicrosoftRootCertificateAuthority2011.cer
If the link invalid someday, you can download from MicrosoftRootCertificateAuthority2011.cer - github.
如果某天链接失效,您可以从MicrosoftRootCertificateAuthority2011.cer - github下载。
- Double click the
.cerfile download just now, then install the certificate following below captures:
- 双击
.cer刚才下载的文件,然后安装如下截图的证书:








- Re-install your .NET Framework 4.6.2 installation package.
- 重新安装 .NET Framework 4.6.2 安装包。
Then the problem will be resolved. May it be helpful for you.
那么问题就会得到解决。愿对你有帮助。
回答by ohioDeveloper
I recently ran into this issue with systems behind a firewall that didn't have internet access. I ran /extract on the .NET Framework 4.6.2 MSI and was able to run the x64 installer directly without the certificate check. Maybe not the "right" way to go, but it worked.
我最近在无法访问 Internet 的防火墙后面的系统中遇到了这个问题。我在 .NET Framework 4.6.2 MSI 上运行 /extract 并且能够在没有证书检查的情况下直接运行 x64 安装程序。也许不是“正确”的方式,但它奏效了。
回答by user2768584
Had the same problem, almost. visual c++ error 0x800b010a could not find the certificates to download. Installed firefox and then retried to install c++ and problem fixed. Must be firefox browser installs these certificates.
有同样的问题,几乎。Visual C++ 错误 0x800b010a 找不到要下载的证书。安装了 Firefox,然后重试安装 C++ 并解决了问题。必须是 Firefox 浏览器安装这些证书。
回答by Chris
Just wanted to say that I had a similar issue with trying to install .NET 4.7.2 on a Windows Server 2008 R2 box. I had to first upgrade it to Win 2k8r2 SP1, then add the prerequisite update for the d3ddecomplier.dll (KB4019990), THEN I had to load the certificate store as outlined above. It was only after all that that I was able to finally install .NET 4.7.2.
只是想说我在尝试在 Windows Server 2008 R2 机器上安装 .NET 4.7.2 时遇到了类似的问题。我必须先将它升级到 Win 2k8r2 SP1,然后添加 d3ddecomplier.dll (KB4019990) 的先决条件更新,然后我必须按照上述方法加载证书存储。毕竟,我终于能够安装 .NET 4.7.2。

