2

我在将我的证书文件添加到 windows mobile x509 存储时遇到问题。我使用以下测试程序:

byte[] certifictateData = FileToByteArray(appPath + "cert.cer");
X509Certificate certificate = new X509Certificate(certifictateData);

X509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
int i = store.Certificates.Add(certificate);
store.Close();

设备上安装了 28 个根证书。添加我的后,我收到 29 作为值。但是当我尝试打开 store.Certificates[28] 时,即使关闭后证书存储中也没有条目,也会出现 OutOfRangeException。

当我在移动浏览器中打开 cert.cer 文件时,它会在没有任何消息的情况下添加。

我能做些什么?

最好的祝福

4

2 回答 2

1

这也是我对这个命名空间的体验。无论如何,您在小型设备框架方面做得很好。这是我快速且便宜的解决方案;)

ProcessStartInfo psi = new ProcessStartInfo(appPath + "cert.cer", "");
psi.UseShellExecute = true;
Process.Start(psi);

唯一的缺点是会弹出一条消息并显示导入结果。

于 2012-04-24T07:30:03.693 回答
0

我的经验是 Compact Framework 中的 X509Store(真的是整个命名空间)完全没用。我最终实现了用于导入证书和私钥的整套 API。我将这项工作放入最新的 SDF中,尽管 IIRC 有人在该代码中发现了一个错误,我在内部修复了该错误,但我不记得该修复是否已公开传播。

于 2012-04-20T20:19:34.550 回答