gpt4 book ai didi

c# - X509Store Certificates.Find FindByThumbprint

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:00 25 4
gpt4 key购买 nike

我在使用 store.Certificates.Find 时遇到问题。我正在使用带有 NET 3.5 的 Windows Server 2008 R2。证书由

安装
public static void AddCertificate(X509Certificate2 cert, StoreName name = StoreName.My, StoreLocation location = StoreLocation.LocalMachine)
{
var store = new X509Store(name, location);
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();
}

之后,通过

找到证书
string certThumbprint = "XXXX";
var certificates = store.Certificates.Find(X509FindType.FindByThumbprint, commandLineArgs.CertificateThumbprint, true);

if (certificates.Count == 0)
{
throw new ArgumentException("No certificate found with given thumbprint.");
}

这个异常根本不应该被抛出,但它似乎有时会被抛出。每 100 次运行大约会抛出 5 次异常。

我用谷歌搜索并发现了“第一个字符不可见”的问题,但就我而言,指纹确实是硬编码的。我没有从任何地方读取指纹。使用 NET.4.5 在 Windows Server 2012 上运行的确切代码从未给我任何问题。这仅适用于带有 NET.3.5 的 Windows 服务器。我想知道为什么结果只在 WS2008R2 上如此不一致?

最佳答案

我认为问题可能是您的用户没有证书权限

试试这个

  1. 下载并安装:Windows HTTP 服务证书配置工具 (WinHttpCertCfg.exe) http://www.microsoft.com/en-us/download/details.aspx?id=19801
  2. 然后运行:WinHttpCertCfg.exe -g -c LOCAL_MACHINE\Store -s "IssuedToName"-a "账户名"

关于c# - X509Store Certificates.Find FindByThumbprint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com