无法将证书链构建到受信任的根证书颁发机构

A certificate chain could not be built to a trusted root authority

提问人:skm 提问时间:11/8/2017 更新时间:6/17/2022 访问量:202499

问:

在安装 .NET Framework 4.6.2 期间,我收到错误:

.NET Framework 安装失败:-2146762486。证书链 无法构建到受信任的根证书颁发机构

MSDN博客链接中提供了上述错误的解决方案,该链接显示要执行以下步骤:

1. 将证书 http://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt 下载到本地(例如:C:\Temp)

2. 您可以使用 certmgr.exe 实用程序通过命令行添加证书。有关详细信息,请参阅 MSDN 上的 Certmgr.exe(证书管理器工具)主题。

3. 打开管理员命令提示符并运行以下命令:certmgr.exe /add C:\Temp\MicRooCerAut2011_2011_03_22.cer /s /r localMachine root

4. 接下来,尝试安装补丁KB3135996或KB3136000

我的问题:

.NET Framework 4.6.2 的安装必须在多个生产系统上完成,因此,上述步骤是标准步骤吗?我的意思是,在多个系统上安装相同的证书会产生问题吗?当系统在某个时候连接到互联网时,会不会产生冲突?

附言:通过将系统连接到Internet来解决此问题(管理证书)对我来说不是一种选择,因为整个过程必须离线

.NET 证书 Windows-7-Embedded

评论

1赞 Dave Sims 8/27/2019
这篇文章帮助我解决了安装KB3151800的问题,以便在没有互联网访问的机器上为我需要的其他一些软件获取 .NET 4.6.2。不过,我使用 GUI 将证书直接安装到受信任的存储中。谢谢。
0赞 inexcitus 11/8/2019
这也帮助我成功安装了 4.7.1。谢谢(我也用GUI直接安装)。

答:

7赞 pepo 11/8/2017 #1

在多个系统上安装相同的证书会产生问题吗?

不,即使系统将来连接到互联网,也不会有问题。

当您将系统连接到互联网并进行更新时,它可以下载一组受信任的证书。这些证书将添加到受信任的根存储中。现有的将被 IMO 简单地替换。

10赞 ohioDeveloper 7/26/2019 #2

我最近在防火墙后面的系统中遇到了这个问题,而防火墙后面的系统无法访问互联网。我在 .NET Framework 4.6.2 MSI 上运行了 /extract,并且能够在没有证书检查的情况下直接运行 x64 安装程序。也许不是“正确”的方式,但它奏效了。

0赞 user2768584 12/7/2019 #3

几乎有同样的问题。Visual C++ 错误0x800b010a找不到要下载的证书。安装了firefox,然后重试安装c++并修复了问题。必须是 firefox 浏览器安装这些证书。

113赞 Bravo Yeung 3/23/2020 #4

我在 Win 7 sp1 中也遇到了同样的问题。

解决方案如下:

  1. 从 Microsoft 下载证书文件:MicrosoftRootCertificateAuthority2011.cer

如果有一天链接无效,您可以从 MicrosoftRootCertificateAuthority2011.cer - github 下载。

  1. 双击刚才下载的文件,然后按照以下捕获的步骤安装证书:.cer

Step1


Step2


Step3


Step4

  1. 重新安装 .NET Framework 4.6.2 安装包。

然后问题将得到解决。愿对你有所帮助。

评论

0赞 ika 5/15/2020
很有帮助,非常感谢!我在 Win 7 SP1 上脱机安装 .NET Framework 4.7.1 时遇到了这个问题,通过这种方法解决了这个问题。但是,最好用文本描述这些步骤,因为屏幕截图往往会消失(我注意到图像来自您自己的存储库,但仍然......
1赞 ja73 7/17/2020
适用于 Net Framework 4.7.1 和 Windows 7 SP1 谢谢;)很有帮助
3赞 mirh 7/24/2020
证书应包含在KB2813430KB3004394中。
6赞 RCECoder 9/22/2021
解决方案对我不起作用。我收到“时间戳签名和/或证书无法验证或格式不正确”错误。
4赞 RCECoder 9/22/2021
对于我遇到的错误,需要KB4474419并KB4490628 SHA-2 代码签名支持的更新。
1赞 Chris 4/24/2020 #5

只是想说我在尝试在 Windows Server 4.7.2 R2 机器上安装 .NET 2008 时遇到了类似的问题。我必须首先将其升级到 Win 2k8r2 SP1,然后添加 d3ddecomplier.dll (KB4019990) 的先决条件更新,然后我必须如上所述加载证书存储。毕竟,我才能够最终安装 .NET 4.7.2。

3赞 Jerry Lazo 8/26/2020 #6

跟随 OhioDeveloper 的领导,我基本上对所有戴尔驱动程序包做了同样的事情,这些驱动程序包在安装时在此戴尔 OptiPlex 3040 中出现错误...... 我从一家即将关闭并因此清算所有资产的企业那里购买了几台紧凑型 OptiPlex 3040

我一直在各条战线上打仗,试图做一个全新的 Windows 7,安装在戴尔上,遇到了同样的问题......( Net Framework 4.8 ) 在解压缩所有文件并检查主机环境后,在安装开始时抛出 ( Root Trust Certificate - Error )。

首先我使用了 ( 7-Zip ) [ 免费软件 ],将它指向 Net Framework 安装文件,并告诉它解压... 7-zip 将创建一个文件夹(具有匹配的名称),其中包含文件的所有提取内容。

~ 如果您不熟悉打开安装文件以查看它们包含的内容,这部分可能看起来很“有风险”,但我们在这里所做的只是手动运行系统的特定文件并忽略其他所有内容。~

您正在寻找 ( .MSI ) 文件。 例如。。。。

Netfx_???????_x64.msi

有许多文件具有相似的名称,它们只在中间 ( ?????? ) 部分,并且名称中有 (x86 ) 或 (x64)。


If you’re on a 32 bit system, use the files with {x86} in the file name.

If you’re on a 64 bit system, use the files with {x64} in the file name.

...在这一点上,我没有关于哪一个的指导 ( ????? )要使用的文件的变体。 有 4 个文件命名变体。

核心 / 扩展 / 完整/补丁

这 4 个文件名变体根本没有帮助...... 我不确定这是否是升级,因为实际上(Net Framework 3.something)已经与Windows一起安装。

CORE,始终是一个重要的文件名,听起来很重要,但实际上却一无所获......

EXTENDED,听起来很傻,又一无所获。

所以我选择了 FULL,希望它能“做所有事情”并否定猜测。所以我决定了( ...FULL_x64... )版本。

所以我运行了{NETFX_FULL_x64.msi},我很高兴地报告(Net Framework 4.8)安装没有错误。

...希望这个详细的演练对某人有所帮助。

~技术德鲁伊

很抱歉这么啰嗦,这是为了帮助没有(或从未)尝试过非传统解决方法的用户修复 WINDOWS 错误。

4赞 Badr Elmers 9/20/2021 #7

另一个对我有用的简单解决方案是在新的 Win 4.8sp 7 中安装 NET 1 是使用 rootsupd.exe 要更新证书,您可以从此处下载它 https://web.archive.org/web/20170829230259/http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe

它不需要安装,只需运行它就完成了,不会出现任何窗口,它会自动更新证书

14赞 Luis Alfredo Serrano Díaz 11/21/2021 #8

对于那些在 Windows 7 中遇到此问题的用户: 可以通过安全更新解决:the timestamp signature and/or certificate could not be verified or is malformed.

Windows 7 64 位:

官方网址: https://www.microsoft.com/en-us/download/details.aspx?id=46148

如果 Microsoft 放弃它,请使用 Github URL GitHub URL:https://github.com/felloz/Sec_win7_64x_update/blob/master/Windows6.1-KB3033929-x64.zip

Windows 7 32 位

官方网址: https://www.microsoft.com/en-ie/download/details.aspx?id=46078

如果 Microsoft 放弃它,请使用 Github URL GitHub URL:https://github.com/felloz/Sec_win7_86x_update/blob/master/Windows6.1-KB3033929-x86.zip

只需安装安全更新,重新启动计算机,然后再次尝试安装 .NET,它也适用于 4.8。

YouTube上这个人的所有功劳:https://www.youtube.com/watch?v=tIMEsfLJX04

评论

0赞 QkiZ 11/12/2022
对我不起作用
1赞 ProblemsLoop 10/4/2023
这是唯一对我有用的解决方案,这个问题是因为Microsoft更新了安装程序以使用 SHA2 证书(包括 3.5 SP1)support.microsoft.com/en-us/topic/...简单地将证书安装到受信任的证书存储区是行不通的