【发布时间】:2018-04-19 04:19:33
【问题描述】:
所有,我遇到了一个问题,我的 ASP.NET Web 表单应用程序 (.Net Framework 4.6.1) 在其下运行的服务帐户无法从 windows 2012 R2 服务器上的个人存储中加载 X509Certificate(.pfx)。这是我将证书导入证书存储的方式 我使用服务帐户(域\用户名)登录服务器,使用 mmc snap in 将证书导入当前用户个人证书存储(请看最后的截图)
这是我用来在 C# 中加载证书的代码。但是证书 为空
public X509Certificate2 Load()
{
X509Certificate2 x509Certificate = null;
var store = new X509Store(StoreName.My,StoreLocation.CurrentUser);
string thumbPrint = StripTheSpacesAndMakeItUpper(ConfigurationManager.AppSettings["pfxthumbPrint"]);
store.Open(OpenFlags.ReadOnly);
var certCollection = store.Certificates;
foreach (var x509 in certCollection)
{
if (x509.Thumbprint.Equals(thumbPrint))
{
x509Certificate = x509;
break;
}
}
store.Close();
return x509Certificate;
}
private string StripTheSpacesAndMakeItUpper(string thumbPrint)
{
if(!string.IsNullOrWhiteSpace(thumbPrint))
{
return Regex.Replace(thumbPrint, @"\s|\W", "").ToUpper();
}
return thumbPrint;
}
]3
【问题讨论】:
标签: c# asp.net ssl x509certificate2