.net 如何在Windows mobile 5.0 Pocket PC设备中安装/访问.cer文件?

.net 如何在Windows mobile 5.0 Pocket PC设备中安装/访问.cer文件?,.net,pocketpc,windows-mobile-5.0,.net,Pocketpc,Windows Mobile 5.0,我想从.cer文件访问信息(如发卡机构名称、到期日期等)。 我尝试检查证书是否存在于存储中(由于我没有安装证书,因此无论如何它都不会存在) 如果未找到,请尝试按照以下步骤从cer文件中读取 使用BinaryReader读取证书文件的内容,结果是字节[]值 X509Certificate2 cert=new X509Certificate2(上述步骤返回的字节值)-在此步骤中,我得到一个异常,如下所示: “System.Security.Cryptography.CryptographyExcep

我想从.cer文件访问信息(如发卡机构名称、到期日期等)。

我尝试检查证书是否存在于存储中(由于我没有安装证书,因此无论如何它都不会存在)

如果未找到,请尝试按照以下步骤从cer文件中读取

  • 使用BinaryReader读取证书文件的内容,结果是字节[]值
  • X509Certificate2 cert=new X509Certificate2(上述步骤返回的字节值)
    -在此步骤中,我得到一个异常,如下所示:
  • “System.Security.Cryptography.CryptographyException:创建 证书对象失败。传入的数据不正确或错误 .NET Compact Framework不支持..NET Compact Framework 不支持读取pfx文件。“

    有没有办法安装或访问cer文件中的信息?

    如果可以通过调用某个exe或实用程序以编程方式完成,则更有用。

    我的目标是使用证书验证所有web请求。我只有cer文件。


    有没有办法通过单独使用cer文件直接验证web请求?

    我找到了从Pocket PC设备中的.cer文件检索信息的方法

    首先,将cer文件转换为DER编码的二进制X.509格式(使用计算机),然后在设备中使用

    转换步骤:

  • 在计算机中打开.cer文件
  • 转到“详细信息”选项卡,然后单击“复制到文件…”按钮
  • 出现证书导出向导,单击下一步并选择“DER编码二进制X.509(.CER)”
  • 单击“下一步”,指定所需的位置和文件名,然后单击“完成”
  • 这将在所选位置生成一个.cer文件
  • 将cer文件(由上述过程生成)复制到Pocket PC设备,并按如下方式以编程方式访问信息

  • 使用BinaryReader读取证书文件的内容,结果是字节[]值
  • X509Certificate2 cert=新的X509Certificate2(上述步骤返回的字节值)
  • 通过cert.GetIssuerName()等内置方法获取发卡机构名称或所需的任何详细信息 这解决了我的问题

    X509Store store = new X509Store("test", StoreLocation.LocalMachine);
    store.Open(OpenFlags.ReadOnly);    
    X509Certificate2Collection certificates = store.Certificates.Find(X509FindType.FindBySubjectName, certSearchString, false);