批量吊销、恢复国内软件证书

RevokeChinaCerts收集了国内大多数热门软件的数字证书,并且能够将证书设为系统不受信,阻止相关厂商软件的安装。几年前用的时候,发现RevokeChinaCerts自带的添加工具有时会出现添加不上的问题,看了一下发现PowerShell的实现更为方便和稳定,于是写了个PsRevokeCerts

原理

PowerShell的实现相对简单,在管理员模式下,将证书文件添加到Cert:\LocalMachine\Disallowed即可,代码如下:

Import-Certificate -FilePath $certFilePath -CertStoreLocation Cert:\LocalMachine\Disallowed

用法

克隆工程,并初始化RevokeChinaCerts子模块:

git clone https://github.com/TheCjw/PsRevokeCerts
cd PsRevokeCerts
git submodule update --init

然后运行脚本,选择添加全部或者移除全部:

powershell -ExecutionPolicy Bypass .\PsRevokeCerts.ps1

如果需要使用一些软件,如QQ、钉钉等,运行certmgr.msc,删除相关厂商的证书即可。也可以通过PowerShell批量删除:

Get-ChildItem Cert:\LocalMachine\Disallowed | Where-Object { $_.SubjectName.Name.toLower().Contains("tencent") } | Select-Object { Remove-Item (Join-Path Cert:\LocalMachine\Disallowed $_.Thumbprint) }

发表评论