我安装了一个证书在:
- 证书(本地计算机)
- 受信任的根证书颁发机构
- 证书
- 受信任的根证书颁发机构
这段代码将证书作为有效证书进行了验证。
X509Store certStore = new X509Store(StoreName.CertificateAuthority, StoreLocation.LocalMachine);
certStore.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
try {
var oAuthRootCertificateList = certStore.Certificates.Find(findType, findValue, true);
oauthRootCertificate = oAuthRootCertificateList[0];
} catch (Exception ex) {
Trace.TraceError(ex.Message);
} finally {
certStore.Close();
}
*(findType和findValue在代码中已经设置)
一切都很好,代码也很好。
现在我已经从“受信任的根证书颁发机构”中删除了证书,并安装在:
- 证书(本地计算机)
- 中间证书颁发机构
- 证书
- 中间证书颁发机构
因为 Azure 不允许我将证书部署在 Trusted Root 分支上。
现在,代码出现了故障。我必须将最后一个参数(validOnly)从 true
更改为 false
才能运行它。
您可以在这里查看 Find 方法的帮助文档。
有什么想法,为什么它不能运行,以及如何解决?