gpt4 book ai didi

c# - 无法在客户端解码证书 new X509Certificate2()

转载 作者:行者123 更新时间:2023-11-30 15:23:23 24 4
gpt4 key购买 nike

我正在使用这个 little class它以字节数组的形式返回一个 pfx 文件。

服务器端:

byte[] serverCertificatebyte;
var date = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day);
serverCertificatebyte = Certificate.CreateSelfSignCertificatePfx("CN=RustBuster" + RandomString(5),
date,
date.AddDays(7));

然后我将它发送给客户端(长度:1654):

tcpClient.GetStream().Write(serverCertificatebyte , 0, serverCertificatebyte .Length);

客户端阅读后,我想将其转换为证书类:(这里长度也是1654)

我尝试做一个新的 X509Certificate2(data);我在下面得到了错误。这适用于服务器端。怎么了?

我还用 new X509Certificate2(data, string.Empty) 尝试过它;并得到同样的错误

Error System.Security.Cryptography.CryptographicException: Unable to decode certificate. ---> System.Security.Cryptography.CryptographicException: Input data cannot be coded as a valid certificate. ---> System.ArgumentOutOfRangeException: Cannot be negative.

参数名称:长度

在 System.String.Substring (Int32 startIndex, Int32 length) [0x00000] in :0

at Mono.Security.X509.X509Certificate.PEM(System.String类型,System.Byte[]数据)[0x00000] in :0

在 Mono.Security.X509.X509Certificate..ctor(System.Byte[] 数据)[0x00000] 中:0

最佳答案

当使用 X509Certificate2 构造函数以空密码加载 PKCS#12 时,Mono 中存在错误。 patch已提交以修复此问题,但它(可能)未在您的单声道版本中发布。

尝试将字节保存到文件中,然后使用 new X509Certificate2(filepath, String.Empty)new X509Certificate2(filepath, null) 或使用一些创建 pfx默认非空密码。

关于c# - 无法在客户端解码证书 new X509Certificate2(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com