【问题标题】:How to install / access .cer file in Windows mobile 5.0 Pocket PC device?如何在 Windows mobile 5.0 Pocket PC 设备中安装/访问 .cer 文件?
【发布时间】:2015-05-05 02:10:09
【问题描述】:

我想访问 .cer 文件中的信息(如发行人名称、到期日期等)。

我尝试检查商店中是否存在证书(因为我没有安装证书,所以无论如何它不会存在)

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

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

  1. 使用 BinaryReader 读取证书文件的内容,得到 byte[] 值
  2. X509Certificate2 cert = new X509Certificate2(byte value returned by the above step) - 在这一步中,我遇到如下异常:

“System.Security.Cryptography.CryptographicException:正在创建 证书对象失败。传入的数据要么不正确,要么 .NET Compact Framework 不支持。 .NET 紧凑型框架 不支持从 pfx 文件中读取。”

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

如果可以通过调用某些 exe 或实用程序以编程方式完成,那将更加有用。

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

有没有什么方法可以单独使用 cer 文件直接验证网络请求?

【问题讨论】:

    标签: .net pocketpc windows-mobile-5.0


    【解决方案1】:

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

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

    转换步骤:

    1. 在电脑中打开 .cer 文件
    2. 转到“详细信息”选项卡并单击“复制到文件...”按钮
    3. 出现证书导出向导,点击下一步并选择“DER 编码二进制 X.509(.CER)”
    4. 单击“下一步”并指定所需的位置和文件名,然后单击“完成”
    5. 这将在所选位置生成一个 .cer 文件

    将 cer 文件(由上述过程生成)复制到 Pocket PC 设备并以编程方式访问信息,如下所示。

    1. 使用 BinaryReader 读取证书文件的内容,得到 byte[] 值
    2. X509Certificate2 cert = new X509Certificate2(上述步骤返回的字节值)
    3. 通过 cert.GetIssuerName() 等内置方法获取颁发者名称或所需的任何详细信息;

    这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-26
      • 2010-09-26
      • 1970-01-01
      • 2011-03-27
      • 2011-01-13
      • 2018-04-08
      • 2019-09-20
      • 1970-01-01
      相关资源
      最近更新 更多