我有一张证书也有友好名称,我想用友好名称而不是拇指印来获取证书。我没有看到任何方法,比如 FindByFriendlyName...
怎么做呢?
var thumbprint ="f454......"
var friendlyName = "ASP.NET Core...."
X509Certificate2Collection signingCerts = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
X509Certificate2Enumerator enumerator = signingCerts.GetEnumerator();
内置搜索只能针对静态字段进行搜索,对于任何给定的证书来说,这些字段是不会改变的。友好名称不是静态的,它可以无限次地改变任何一张证书。因此,我强烈建议不要依赖证书的友好名称。永远不要。
你可以做手动过滤,通过列举所有证书并检查匹配的证书,但这是非常糟糕和脆弱的方式。