【问题标题】:Parse Bytes[] as X509Certificate in C#在 C# 中将字节 [] 解析为 X509Certificate
【发布时间】:2017-12-31 10:34:52
【问题描述】:

我创建了一个 Web 服务,它接收一个 .p12 文件作为字节数组并将其解析为 X509Certificate,当我在本地对其进行测试时它工作得很好,但是当我部署它时,我在尝试创建时遇到以下错误X509 证书:

系统找不到指定的文件。

代码

//cerBytes is a Byte[] and passCert is a String
X509Certificate2 cert = new X509Certificate2(certBytes, passCert);

在我阅读时,问题是它试图从实际服务器读取证书,这不是我要寻找的行为,我只需要从字节数组(来自不同的发件人)中解析证书/customers) 签署一个 XML 就可以了,不需要将证书存储在服务器中。

有没有办法完成我正在寻找的东西?

【问题讨论】:

  • 能否让我们看看您的网络服务代码以及如何将接收到的文件转换为字节数组。
  • Rani,这是实际的代码,X509Certificate 构造函数接受字节数组和 p12 文件的密码。当而不是字节数组接收文件路径时,它还有另一个,但因为这是通过 Web 服务执行的。路径永远不会有效。
  • 谢谢 Rene,问题是我使用的主机不允许我在 IIS 上配置东西,一切都部署为 Web 应用程序(齿轮主机)

标签: c# asp.net web-services certificate


【解决方案1】:

你应该看看BinaryFormatter class ,在客户端,创建 X509Certificate2 对象,一旦序列化并发送,创建一个具有给定字节数组的新 MemoryStream 并在服务器端将其反序列化为 X509Certificate2,希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    相关资源
    最近更新 更多