Pab*_*blo 42 c# asp.net x509certificate
我使用以下代码从asp.net webapp检索我的电脑中的所有证书.证书集合是空的,我不明白为什么.
我尝试冒充我自己的用户帐户,但我也没有成功.我究竟做错了什么?
var store = new X509Store(StoreLocation.CurrentUser); //StoreLocation.LocalMachine fails too
var certificates = store.Certificates;
foreach (var certificate in certificates)
{
var friendlyName = certificate.FriendlyName;
Console.WriteLine(friendlyName);
}
//original problem: fetch a single certificate by its subject name
X509Certificate2 clientCertificate = CertificateUtility.GetCertificate(StoreName.My, StoreLocation.CurrentUser, "CN=mypc.domainname"); //returns null :(
Run Code Online (Sandbox Code Playgroud)
Chr*_*ens 57
将这行代码添加到第二行,看看它是如何工作的:
store.Open(OpenFlags.ReadOnly);
Run Code Online (Sandbox Code Playgroud)
然后在底部:):
store.Close();
Run Code Online (Sandbox Code Playgroud)
小智 19
一体 ...
我有一个带https的apache服务器(xamp).我通过https和c#(vs2010)访问PHP上传页面
例如,从个人文件夹证书中安装证书.
要查看证书运行"certmgr.msc",至少在win7中
var store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var certificates = store.Certificates;
foreach (var certificate in certificates)
{
var friendlyName = certificate.FriendlyName;
var xname = certificate.GetName(); //obsolete
Console.WriteLine(friendlyName);
}
store.Close();
Run Code Online (Sandbox Code Playgroud)
string certificateName = "CN=localhost"; //name found in the var xname
X509Store storex = new X509Store(StoreName.My, StoreLocation.CurrentUser);
storex.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificatesx =
storex.Certificates.Find(X509FindType.FindBySubjectName,
certificateName,
true);
X509Certificate certificatex = certificates[0];
storex.Close();
Run Code Online (Sandbox Code Playgroud)