无法使用指纹从 asp.net core 2.1 访问 X509Store 中的证书

Cant access certificates in X509Store from asp.net core 2.1 with thumbprints

从 IIS 访问 X509Store 时出现奇怪的问题。我查不到。
如果我从 powershell 访问 rp 证书和 ca 证书都在那里,

目录证书:-递归 | Where-Object { $_.Thumbprint -like "thumprintstring" }

我检查过指纹的开头没有隐藏字符
我已经设置证书在安装时可以导出
我目前在 certficate 中将它设置为每个人都可以访问(它是测试服务器的证书) 店铺

这是我使用的代码

                StoreLocation location = certificateConfig.UseCurrentUserStoreLocation ? StoreLocation.CurrentUser : StoreLocation.LocalMachine;
 
                using (var clientCertStore = new X509Store(StoreName.My, location))
                {
                    clientCertStore.Open(OpenFlags.ReadOnly);

                    //Search for the client cert
                    X509Certificate2 rpCert = GetCertByThumbprint(clientCertStore, certificateConfig.RpCertThumbprint);
                    if (rpCert == null)
                    {
                        throw new InvalidOperationException("No rp cert found for specified thumbprint #" + certificateConfig.RpCertThumbprint +"# "+location);
                    }
                    ClientCertificates.Add(rpCert);
                }
<snip>
        private X509Certificate2 GetCertByThumbprint(X509Store certStore, string thumbprint)
        {
            var certs = certStore.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);

            return certs.Count > 0 ? certs[0] : null;
        }

无论我尝试什么,rpcert 始终为空。
我是否需要其他方式从 IIS 打开商店?
有什么想法或建议吗?我错过了什么?

问题出乎我的意料。配置从已删除的环境变量中读取,因此它们没有显示在环境变量中,并且服务器没有重新启动。被删除的很可能在指纹前面有坏字符。 重新启动 iis 不能解决这个问题,因为网络服务帐户在已经登录时不会重新读取这些。

跟进问题:是否可以在不重启服务器的情况下重新登录网络服务帐户?