[英]Get certificates stored on smart card on Windows Mobile 6
我为PDA(带有Compact Framework 3.5)开发了Windows Mobile 6应用程序。 我的PDA有一个智能卡读卡器。 插入卡后,我将获得所有存储在其中的证书。 我已经在桌面应用程序中成功完成了此操作,但是当我在手机上尝试相同的代码时,找不到证书! 因此,我尝试了不同的解决方案,但没有任何效果!
这是我的代码:
X509Store test = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
test.Open(OpenFlags.ReadOnly);
if (test.Certificates.Count > 0)
{
foreach (X509Certificate2 cert in test.Certificates)
{
MessageBox.Show("Certificate: " + cert.ToString());
}
}
你有个主意吗?
你有例外吗? 如果仅看到空存储,则可能是证书从智能卡传播到Windows证书存储的问题。
在桌面Windows系统中,有一项服务证书传播 (CertPropSvc)
将用户证书和根证书从智能卡复制到当前用户的证书存储中,检测何时将智能卡插入智能卡读取器,并在需要时安装智能卡即插即用微型驱动程序。
我不知道Windows Mobile 6或任何移动Windows OS中是否存在这样的服务。
我恳求您进行研究(我在Google上的2分钟努力没有带来任何积极成果)。
或者,您可以尝试使用PKCS#11库来访问和使用智能卡上存储的证书和私钥。 智能卡供应商通常会分发带有智能卡驱动程序的PKCS#11库。
有一些开源.NET项目使您能够与PKCS11Interop或NCryptoki等PKCS#11库(通常用C编写)进行通信 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.