将Bytes []解析为C#中的X509Certificate

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Bytes []解析为C#中的X509Certificate相关的知识,希望对你有一定的参考价值。

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

该系统找不到指定的文件。

代码

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

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

无论如何要完成我正在寻找的东西?

答案

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

以上是关于将Bytes []解析为C#中的X509Certificate的主要内容,如果未能解决你的问题,请参考以下文章

比较java中的2 x509证书

使用windows crypt API解析X509证书

x509证书格式

Java X509 证书解析和验证

使用 C# 从 CA 证书为设备创建 X509 证书

将X509证书转换为base64