应优先执行certutil -generateSSTFromWU命令自动下载并导入最新根证书;若冲突严重则先清空旧根证书再同步;离线环境可手动导入p7b证书包;用户级异常需单独修复CurrentUser\Root;最后验证ISRG Root X1等关键证书是否存在及HTTPS连通性。
如果您尝试访问https网站、应用商店或vs code插件市场,但系统反复提示“无法建立安全连接”“证书验证失败”或出现事件id 36882错误,则可能是由于本地计算机缺少最新受信任的根证书。以下是多种可立即执行的电脑更新根证书代码方法:
一、使用certutil从Windows Update自动下载并导入根证书
该方法通过Windows原生工具certutil直接从微软更新服务器拉取最新根证书列表(含ISRG Root X1、DigiCert Global Root G3等主流CA),并批量导入至本地计算机信任存储,适用于Windows 10/11及Server 2012 R2及以上系统。
1、以管理员身份运行PowerShell。
2、执行命令下载根证书包:certutil.exe -generateSSTFromWU C:\roots.sst。
3、等待命令完成(约1–3分钟),确认C:\roots.sst文件已生成。
4、执行导入命令:$sst = Get-ChildItem -Path C:\roots.sst; $sst | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root。
5、删除临时文件:Remove-Item C:\roots.sst -Force。
二、强制清空旧根证书后重新同步(适用于证书冲突严重场景)
当系统中存在大量过期或吊销的根证书(如DST Root CA X3残留),可能导致新证书无法正确链式验证。本方法先彻底清除LocalMachine\Root存储中的全部根证书,再重新拉取权威列表,确保信任链纯净。
1、以管理员身份运行PowerShell。
2、执行清空命令:Get-ChildItem -Path Cert:\LocalMachine\Root | ForEach-Object { Remove-Item -Path $_.PSPath -Recurse -Force -ErrorAction SilentlyContinue }。
3、等待清空完成(无输出即表示成功)。
4、立即执行同步命令:certutil.exe -generateSSTFromWU C:\fresh_roots.sst。
5、导入新证书:Import-Certificate -FilePath C:\fresh_roots.sst -CertStoreLocation Cert:\LocalMachine\Root。
6、清理临时文件:Remove-Item C:\fresh_roots.sst -Force。
三、针对Windows 7或离线环境的手动证书更新方案
对于无公网连接、或系统版本较老(如Windows 7 SP1)且无法调用certutil -generateSSTFromWU的设备,可预先在联网机器上导出证书包,再手动部署。该方案依赖已签名的预置证书集合,兼容性高,无需在线验证。
1、在一台已联网且证书正常的Windows系统中,以管理员身份运行PowerShell。
2、导出当前完整根证书库:Export-Certificate -Cert (Get-ChildItem -Path Cert:\LocalMachine\Root) -FilePath C:\trusted_roots.p7b -Type P7B。
3、将C:\trusted_roots.p7b复制到目标电脑。
4、在目标电脑上以管理员身份运行PowerShell,执行导入:Import-Certificate -FilePath C:\trusted_roots.p7b -CertStoreLocation Cert:\LocalMachine\Root。
5、验证导入数量:(Get-ChildItem -Path Cert:\LocalMachine\Root).Count(正常应为400+)。
四、修复用户级证书存储(解决应用商店/Edge个人账户异常)
部分HTTPS故障仅影响当前用户(如Microsoft Store登录失败、Edge同步中断),根源在于CurrentUser\Root证书存储未同步更新。此方法单独刷新用户上下文信任库,不影响系统级设置,操作轻量且精准。
1、以管理员身份运行PowerShell。
2、清空当前用户根证书:Get-ChildItem -Path Cert:\CurrentUser\Root | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue。
3、从Windows Update拉取并导入用户级证书:certutil.exe -generateSSTFromWU %TEMP%\user_roots.sst && Import-Certificate -FilePath %TEMP%\user_roots.sst -CertStoreLocation Cert:\CurrentUser\Root。
4、清理临时文件:Remove-Item %TEMP%\user_roots.sst -Force。
五、验证证书更新是否生效
执行任一上述方法后,需立即验证证书链是否可被系统识别。本步骤不修改配置,仅读取和比对关键状态,确保修复结果可观察、可确认。
1、检查LocalMachine根证书数量:(Get-ChildItem -Path Cert:\LocalMachine\Root).Count。
2、检查是否存在ISRG Root X1:Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object { $_.Subject -match "ISRG Root X1" }。
3、检查是否存在DigiCert Global Root G3:Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object { $_.Subject -match "DigiCert Global Root G3" }。
4、测试HTTPS连通性:在PowerShell中运行Test-NetConnection example.com -Port 443,确认TcpTestSucceeded为True。

















