我从使用BluDrive II读卡器的新智能卡读取证书时遇到了一些问题。用旧的智能卡没问题,但最新的证书都是在卡内发现的。使用bit4id软件,我可以读取所有卡(包含我需要的所有信息)。
X509SecurityToken securityToken = null;
var store = new X509Store();
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
try
{
Console.WriteLine("CERTIFICATI PRESENTI: {0}",store.Certificates.Count);
X509Certificate2Collection certs = (X509Certificate2Collection)store.Certificates;
if (certs.Count > 0)
{
int i = 1;
foreach (var cert in certs)
{
securityToken = new X509SecurityToken(cert);
Console.WriteLine(".................................................................");
Console.WriteLine("CERTIFICATO {0}:\n\n {1}",i++, securityToken.Certificate);
}
}
else
{
Console.WriteLine("NESSUN CERTIFICATO LETTO");
securityToken = null;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
if (store != null)
store.Close();
}
我是这个地方的新手,我希望在你的帮助下,非常感谢提前:-) Ces @ re
答案 0 :(得分:0)
您不是直接从智能卡(通过PKCS#11库)读取证书,而是通过操作系统的证书存储(通过X509Store类)读取证书。因此,如果您的操作系统后端配置不正确,您将无法找到您的证书。