PowerShell/curl发起HTTPS请求报无法联系本地安全机构错误
问题现象
运行PowerShell脚本时触发报错,后续测试发现所有基础HTTPS请求全部失效,更换DNS服务器、刷新DNS缓存均无法解决,具体报错如下:
PowerShell执行报错:
PS D:\Soft> .\install.ps1 Invoke-WebRequest: D:\Soft\install.ps1:35 Line | 35 | … $version = (Invoke-WebRequest -Uri "$baseURL/version.txt" -UseBasicPa … | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | The Local Security Authority cannot be contacted PS D:\Soft> invoke-webrequest https://google.com Invoke-WebRequest: The Local Security Authority cannot be contacted PS D:\Soft> Invoke-WebRequest -Uri https://www.bing.com/search?q=wtf Invoke-WebRequest: The Local Security Authority cannot be contacted
curl执行报错:
D:\Soft>curl https://google.com curl: (35) schannel: AcquireCredentialsHandle failed: SEC_E_INTERNAL_ERROR (0x80090304) - The Local Security Authority cannot be contacted
根因说明
所有报错均指向Windows Schannel(安全通道)组件调用失败,错误码0x80090304对应SEC_E_INTERNAL_ERROR,触发原因按出现概率排序:
- Schannel相关注册表配置损坏,常见于使用系统优化工具乱改TLS配置、安装旧版代理软件篡改安全提供程序列表
- 系统核心加密服务、LSA服务运行异常,或对应系统文件被损坏、篡改
- 第三方安全软件、VPN、抓包工具通过注入网络层拦截HTTPS握手流程,导致Schannel无法正常获取安全凭证
- LSA保护(RunAsPPL)开启后,未签名的自定义安全支持提供程序(SSP)被系统阻止加载,导致整个安全通道初始化失败
修复步骤
以下所有操作均需在管理员权限的PowerShell/命令提示符中执行
1. 检查核心系统服务状态
执行以下命令重启加密相关核心服务,同时确认LSA服务运行正常:
Restart-Service CryptSvc, LanmanWorkstation -Force Get-Service lsass
如果返回的lsass服务Status属性不是Running,直接重启系统。重启后如果服务仍无法正常启动,优先排查恶意软件感染。
2. 重置Schannel组件默认配置
先备份当前Schannel注册表配置,再重置为系统默认值,执行完成后重启系统:
reg export "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" "$env:USERPROFILE\Desktop\schannel_backup.reg" Set-ItemProperty -Path "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "SecurityProviders" -Value "msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll, pku2u.dll" -Type MultiString Remove-ItemProperty -Path "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\*" -Name "DisabledByDefault","Enabled" -Recurse -ErrorAction SilentlyContinue
3. 修复损坏的系统文件
依次执行以下命令扫描修复损坏的系统组件,执行完成后重启系统:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
4. 排查第三方软件与网络配置干扰
- 临时关闭或卸载第三方杀毒软件、VPN、网络代理、抓包工具、系统优化类软件,这类软件常通过注入网络层篡改HTTPS握手流程,触发Schannel调用失败
- 执行以下命令重置Winsock网络配置,重启后生效:
netsh winsock reset
5. 排查LSA保护加载异常
如果系统开启了LSA保护(RunAsPPL),未签名的自定义安全支持提供程序会被系统阻止加载,导致安全通道初始化失败:
- 打开事件查看器,定位到路径
应用程序和服务日志\Microsoft\Windows\CodeIntegrity\Operational - 筛选事件ID为3033、3065的报错,确认是否存在被阻止加载的未签名dll
- 定位到对应dll所属的软件,卸载对应软件即可恢复;如果是手动添加的无效SSP条目,直接删除
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages下对应的异常值即可
内容的提问来源于stack exchange,提问作者Denis Samotuga
相关产品推荐
相关产品推荐

