繁体   English   中英

获取Windows Mobile 6上存储在智能卡上的证书

[英]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项目使您能够与PKCS11InteropNCryptoki等PKCS#11库(通常用C编写)进行通信

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM