我目前正在编写一个脚本程序,它通过拍摄某些东西的快照来跟踪操作系统中的更改。其中之一是证书。目标是查看已安装的程序对系统的更改。目前的问题是,我不断看到证书被添加,程序没有添加,Windows做了。我的目标是防止Windows在测试期间下载证书。通过使用以下命令安装全新的信任根颁发机构证书存储:
CertUtil -GenerateSSTFromWU <filename>
字符串
随后是:
updroots.exe <filename>
型
问题是,在安装了这个新存储之后,虽然我确实看到添加了更少的证书,但我仍然看到许多时间戳证书被添加到CurrentUser/CA存储中。我希望有人知道我们从哪里来的这些证书,以及如何预先安装它们,以便它们不会在测试期间出现。谢谢你的忠告。
编辑:
证书的示例包括,
Microsoft时间戳PCA 2010
Microsoft代码签吊PCA 2010
Microsoft时间戳PCA
GlobalSign时间戳CA - G2
Microsoft代码签吊PCA
编辑2.0:
在环顾四周时,我提到它将证书安装在当前用户/CA存储中,该存储似乎与certmgr中的中间证书颁发机构存储相对应。我认为AuthRootAutoUpdate适用于受信任的根证书颁发机构存储。我现在正在研究的问题是,是否有一个单独的服务负责更新中间证书颁发机构?
2条答案
按热度按时间efzxgjgh1#
微软已经启动了一个项目,在代码中添加根证书,可能是crypt32.dll。如果没有互联网连接是可能的,它需要几秒钟,然后他们将被复制从dll。有关更多信息,请参阅链接https://learn.microsoft.com/en-us/security/trusted-root/participants-list。
如果你运行的是
Get-AuthenticodeSignature -FilePath <some exe or dll file>
,你可以强制这样做。问候,托马斯·S.
polhcujo2#
Windows尝试从ctldl.windowsupdate.com获取证书。首先,它尝试获取以下文件:
字符串
然后,如果需要根证书来检查文件夹中证书的身份,它可以获取根证书:
型