我想使用 XMLDSIG 来验证 .config 文件是否未被篡改。我还希望能够验证签名链,以便我可以信任签名。
我在链中获得了三个证书:
Root CA -> Intermediate Signing CA -> Signing Key
我检查该文件是否使用中间 CA 颁发的密钥进行签名。
我想这样做而不在用户的 Windows 证书存储中安装任何证书。这些是自签名证书,所以不是每个用户都希望我将它们安装在他们的根存储中。在我的根存储中安装它们没有问题。
我有原始的 .CER 文件——它们包含在签名块中,我可以将它们与验证码一起包含。我可以使用X509ChainPolicy.ExtraStore
.
如果证书未安装在根存储中,并且我验证了链,则X509Chain.Build
返回false
,并且链中有 a X509ChainStatusFlags.UntrustedRoot
。
我可以仅在此操作期间添加受信任的证书吗?